示例#1
0
def get_open_tickets_details(user, tkts_list):
    """get open tickets details"""
    from utils import build_table
    args = {}

    tickets = {
        "head": ["SR", "Ticket ID", "Subject", "Department", "Opening Date", "Opening Time"],
        "total": len(tkts_list)
    }
    idx = 1
    for tkt_id in tkts_list:
        doc = frappe.get_doc("Issue", tkt_id)
        tickets.update({
            idx: [idx, doc.name, doc.subject, doc.department, str(doc.opening_date), str(doc.opening_time)]
        })
        idx += 1

    args.update({
        "user": user,
        "email": frappe.db.get_value("User", user, "email"),
        "action": "open_tickets",
        "tickets_details": build_table(tickets),
    })

    return args
示例#2
0
def get_open_tickets_details(user, tkts_list):
    """get open tickets details"""
    from utils import build_table
    args = {}

    tickets = {
        "head": [
            "SR", "Ticket ID", "Subject", "Department", "Opening Date",
            "Opening Time"
        ],
        "total":
        len(tkts_list)
    }
    idx = 1
    for tkt_id in tkts_list:
        doc = frappe.get_doc("Issue", tkt_id)
        tickets.update({
            idx: [
                idx, doc.name, doc.subject, doc.department,
                str(doc.opening_date),
                str(doc.opening_time)
            ]
        })
        idx += 1

    args.update({
        "user": user,
        "email": frappe.db.get_value("User", user, "email"),
        "action": "open_tickets",
        "tickets_details": build_table(tickets),
    })

    return args
示例#3
0
def get_tickets_details_that_cant_be_escalate(records):
    """get tickets details that cant be escalate"""
    from utils import build_table, get_dept_head_user

    args = {}
    for dept,record in records.iteritems():
        tickets = {
            "head": ["SR", "Ticket ID", "Subject", "Department", "Opening Date & Time", "Assigned To", "Assigned On", "Ticket Status"],
            "total": len(record)
        }
       
        idx = 1

        for tkt in record:
            doc = frappe.get_doc("Issue", tkt.get("ticket_id"))
            datetime_str = "{date} {time}".format(date=doc.opening_date, time=doc.opening_time)
            tickets.update({
                idx: [idx, doc.name, doc.subject, doc.department, datetime_str, tkt.get("current_owner"), tkt.get("assigned_on"), doc.status]
            })

        dept_head = get_dept_head_user(dept)

        args.update({
            dept_head:{
                "user": dept_head,
                "email": frappe.db.get_value("User", dept_head, "email"),
                "action": "cant_escalate_tickets",
                "tickets_details": build_table(tickets),
            }
        })
    return args
示例#4
0
def get_tickets_details_that_cant_be_escalate(records):
    """get tickets details that cant be escalate"""
    from utils import build_table, get_dept_head_user

    args = {}
    for dept, record in records.iteritems():
        tickets = {
            "head": [
                "SR", "Ticket ID", "Subject", "Department",
                "Opening Date & Time", "Assigned To", "Assigned On",
                "Ticket Status"
            ],
            "total":
            len(record)
        }

        idx = 1

        for tkt in record:
            doc = frappe.get_doc("Issue", tkt.get("ticket_id"))
            datetime_str = "{date} {time}".format(date=doc.opening_date,
                                                  time=doc.opening_time)
            tickets.update({
                idx: [
                    idx, doc.name, doc.subject, doc.department, datetime_str,
                    tkt.get("current_owner"),
                    tkt.get("assigned_on"), doc.status
                ]
            })

        dept_head = get_dept_head_user(dept)

        args.update({
            dept_head: {
                "user": dept_head,
                "email": frappe.db.get_value("User", dept_head, "email"),
                "action": "cant_escalate_tickets",
                "tickets_details": build_table(tickets),
            }
        })
    return args
示例#5
0
def send_new_ticket_notification(doc):
    from utils import send_mail, build_table

    ticket = {
        "total": 6,
        # "head": ["Ticket ID", "Department", "Opening Date", "Opening Time", "Subject", "Raised By"]
        1: ["Ticket ID", doc.name],
        2: ["Department", doc.department],
        3: ["Opening Date", doc.opening_date],
        4: ["Opeing Time", doc.opening_time],
        5: ["Subject", doc.subject],
        6: ["Raised By", doc.raised_by]
    }
    args = {
        "email": doc.raised_by,
        "user": doc.raised_by,
        "issue": doc.name,
        "action": "new_ticket",
        "ticket_detail": build_table(ticket, is_horizontal=True)
    }
    send_mail(args, "[HelpDesk][New Ticket] HelpDesk Notifications")
示例#6
0
def send_new_ticket_notification(doc):
	from utils import send_mail, build_table

	ticket = {
		"total":6,
		# "head": ["Ticket ID", "Department", "Opening Date", "Opening Time", "Subject", "Raised By"]
		1:["Ticket ID", doc.name],
		2:["Department", doc.department],
		3:["Opening Date", doc.opening_date],
		4:["Opeing Time", doc.opening_time],
		5:["Subject", doc.subject],
		6:["Raised By", doc.raised_by]
	}
	args = {
		"email": doc.raised_by,
		"user": doc.raised_by,
		"issue": doc.name,
        "action": "new_ticket",
        "ticket_detail": build_table(ticket, is_horizontal=True)
	}
	send_mail(args, "[HelpDesk][New Ticket] HelpDesk Notifications")
示例#7
0
def closed_ticket_notifications():
    date = add_days(getdate(), -1)

    query = """select name, question, resolution_date from tabIssue where resolution_date between '{from_date}' 
                and '{to_date}'""".format(from_date="%s 00:00:00" % date,
                                          to_date="%s 23:59:59" % date)

    names = frappe.db.sql(query, as_dict=True)
    tickets = {}

    if names:
        tickets = {
            "head": ["SR", "Ticket ID", "Question", "Resolution Date"],
            "total": len(names)
        }

        idx = 1
        for tkt in names:
            tickets.update({
                idx: [
                    idx,
                    tkt.get("name"),
                    tkt.get("question"),
                    tkt.get("resolution_date")
                ]
            })
            idx += 1

        args = {
            "email": frappe.db.get_value("User", "Administrator", "name"),
            "user": "******",
            "action": "aggr_ticket_closed",
            "date": date,
            "ticket_detail": build_table(tickets)
        }
        send_mail(args, "[HelpDesk][Tickets Closed] HelpDesk Notifications")
示例#8
0
def overdue_ticket_notifications():
    date = add_days(getdate(), -1)

    query = """select distinct(tabIssue.name), tabIssue.question, tabIssue.branch, tabIssue.opening_date, tabIssue.opening_time, tabIssue.department, tabIssue.raised_by,tabToDo.owner
FROM tabIssue LEFT JOIN tabToDo ON tabIssue.name=tabToDo.reference_name where tabIssue.status<>"Closed" and  tabIssue.name in (select td.reference_name from tabToDo td where td.reference_type='Issue' and td.status='Open'and td.date<='{date}')""".format(
        date="%s" % date, )

    names = frappe.db.sql(query, as_dict=True)
    tickets = {}

    if names:
        tickets = {
            "head": [
                "SR", "Ticket ID", "Question", "Branch", "Opening Date",
                "Opening Time", "Assigned To"
            ],
            "total":
            len(names)
        }

        idx = 1
        for tkt in names:
            tickets.update({
                idx: [
                    idx,
                    tkt.get("name"),
                    tkt.get("question"),
                    tkt.get("branch"),
                    tkt.get("opening_date"),
                    tkt.get("opening_time"),
                    tkt.get("owner")
                ]
            })
            idx += 1

            ticket = {
                "total": 6,
                1: ["Ticket ID", tkt.get("name")],
                2: ["Branch", tkt.get("branch")],
                3: ["Category", tkt.get("department")],
                4: ["Opening Date", tkt.get("opening_date")],
                5: ["Opening Time", tkt.get("opening_time")],
                6: ["Question", tkt.get("question")],
                7: ["Raised By", tkt.get("raised_by")],
                8: ["Assigned To", tkt.get("owner")]
            }
            _args = {
                "date": date,
                "issue": tkt.get("name"),
                "user": tkt.get("raised_by"),
                "action": "aggr_ticket_overdue",
                "email": tkt.get("raised_by"),
                "ticket_detail": build_table(ticket, is_horizontal=True)
            }
            send_mail(_args,
                      "[HelpDesk][Ticket Overdue] HelpDesk Notifications")

        args = {
            "email": frappe.db.get_value("User", "Administrator", "email"),
            "user": "******",
            "action": "aggr_ticket_overdue",
            "date": date,
            "ticket_detail": build_table(tickets)
        }

        send_mail(args, "[HelpDesk][Tickets Overdue] HelpDesk Notifications")
示例#9
0
            continue

        if verbose:
            print '\n', player.name, ':'
        if player.eligible(min_age, min_mins, min_goals, verbose):
            team_file.write(str(player) + '\n')
            team_file.flush()
            if verbose:
                print '\t' + utils.colored('Saved\n', 'green')
        players_log.write(player.name + '\n')
        players_log.flush()

    team_file.close()
    players_log.seek(0)
    players_log.truncate()
    players_log.flush()
    teams_log.write(team_name + '\n')
    teams_log.flush()

players_log.close()
teams_log.close()
shutil.rmtree(session_dir)

print utils.colored('''Download complete!
Writing to database''', 'green')
num = utils.build_table(league_nation, league_name)
if num != False:
    print "Total", utils.colored(num, 'blue'), "players found in", utils.colored(league_name, 'blue')
else:
    print 'Not a single suitable player found.'