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