Ejemplo n.º 1
0
    def send_email(self):
        frappe.errprint("in the sendmail")
        from frappe.utils.user import get_user_fullname
        from frappe.utils import get_url
        #if self.get("__islocal") and get_url()=='http://stich1.tailorpad.com':

        # mail_titles = frappe.get_hooks().get("login_mail_title", [])
        # title = frappe.db.get_default('company') or (mail_titles and mail_titles[0]) or ""
        frappe.errprint("self.get(__islocal")
        frappe.errprint(cint(self.get("__islocal")))
        if not self.get("__islocal"):
            frappe.errprint("in the if")
            full_name = get_user_fullname(frappe.session['user'])
            if full_name == "Guest":
                full_name = "Administrator"

            first_name = frappe.db.sql_list(
                """select first_name from `tabUser` where name='%s'""" %
                (self.raised_by))
            frappe.errprint(first_name[0])

            msg = "Dear  " + first_name[
                0] + "!<br><br>Support Ticket is created successfully for '" + self.subject + "'<br><br>Your Support Ticket Number is '" + self.name + "' <br><br>Please note for further information. <br><br>Regards, <br>Team TailorPad."
            sender = frappe.session.user not in STANDARD_USERS and frappe.session.user or None
            frappe.errprint("before send")
            frappe.sendmail(recipients=self.raised_by,
                            sender=sender,
                            subject=self.subject,
                            message=msg)
Ejemplo n.º 2
0
    def send_login_mail(self, subject, template, add_args, now=None):
        """send mail with login details"""
        from frappe.utils.user import get_user_fullname
        from frappe.utils import get_url

        full_name = get_user_fullname(frappe.session['user'])
        if full_name == "Guest":
            full_name = "Administrator"

        args = {
            'first_name': self.first_name or self.last_name or "user",
            'user': self.name,
            'title': subject,
            'login_url': get_url(),
            'user_fullname': full_name
        }

        args.update(add_args)

        sender = frappe.session.user not in STANDARD_USERS and get_formatted_email(
            frappe.session.user) or None

        frappe.sendmail(
            recipients=self.email,
            sender=sender,
            subject=subject,
            template=template,
            args=args,
            header=[subject, "green"],
            delayed=(not now) if now != None else self.flags.delay_emails,
            retry=3)
Ejemplo n.º 3
0
    def send_login_mail(self, subject, template, add_args, now=None):
        """send mail with login details"""
        from frappe.utils.user import get_user_fullname
        from frappe.utils import get_url

        mail_titles = frappe.get_hooks().get("login_mail_title", [])
        title = frappe.db.get_default("company") or (mail_titles and mail_titles[0]) or ""

        full_name = get_user_fullname(frappe.session["user"])
        if full_name == "Guest":
            full_name = "Administrator"

        args = {
            "first_name": self.first_name or self.last_name or "user",
            "user": self.name,
            "title": title,
            "login_url": get_url(),
            "user_fullname": full_name,
        }

        args.update(add_args)

        sender = frappe.session.user not in STANDARD_USERS and get_formatted_email(frappe.session.user) or None

        frappe.sendmail(
            recipients=self.email,
            sender=sender,
            subject=subject,
            message=frappe.get_template(template).render(args),
            delayed=(not now) if now != None else self.flags.delay_emails,
        )
Ejemplo n.º 4
0
	def send_login_mail(self, subject, template, add_args, now=None):
		"""send mail with login details"""
		from frappe.utils import get_url
		from frappe.utils.user import get_user_fullname

		created_by = get_user_fullname(frappe.session["user"])
		if created_by == "Guest":
			created_by = "Administrator"

		args = {
			"first_name": self.first_name or self.last_name or "user",
			"user": self.name,
			"title": subject,
			"login_url": get_url(),
			"created_by": created_by,
		}

		args.update(add_args)

		sender = (
			frappe.session.user not in STANDARD_USERS and get_formatted_email(frappe.session.user) or None
		)

		frappe.sendmail(
			recipients=self.email,
			sender=sender,
			subject=subject,
			template=template,
			args=args,
			header=[subject, "green"],
			delayed=(not now) if now != None else self.flags.delay_emails,
			retry=3,
		)
Ejemplo n.º 5
0
	def send_login_mail(self, subject, template, add_args):
		"""send mail with login details"""
		from frappe.utils.user import get_user_fullname
		from frappe.utils import get_url

		mail_titles = frappe.get_hooks().get("login_mail_title", [])
		title = frappe.db.get_default('company') or (mail_titles and mail_titles[0]) or ""

		full_name = get_user_fullname(frappe.session['user'])
		if full_name == "Guest":
			full_name = "Administrator"

		args = {
			'first_name': self.first_name or self.last_name or "user",
			'user': self.name,
			'title': title,
			'login_url': get_url(),
			'user_fullname': full_name
		}

		args.update(add_args)

		sender = frappe.session.user not in STANDARD_USERS and frappe.session.user or None

		frappe.sendmail(recipients=self.email, sender=sender, subject=subject,
			message=frappe.get_template(template).render(args), as_bulk=self.flags.delay_emails)
Ejemplo n.º 6
0
    def supplier_rfq_mail(self, data, update_password_link, rfq_link):
        full_name = get_user_fullname(frappe.session['user'])
        if full_name == "Guest":
            full_name = "Administrator"

        args = {
            'update_password_link': update_password_link,
            'message': frappe.render_template(self.response, data.as_dict()),
            'rfq_link': rfq_link,
            'user_fullname': full_name
        }

        subject = _("Request for Quotation")
        template = "templates/emails/request_for_quotation.html"
        sender = frappe.session.user not in STANDARD_USERS and frappe.session.user or None

        frappe.sendmail(recipients=data.email_id,
                        sender=sender,
                        subject=subject,
                        message=frappe.get_template(template).render(args),
                        attachments=[
                            frappe.attach_print('Request for Quotation',
                                                self.name)
                        ],
                        as_bulk=True)

        frappe.msgprint(_("Email sent to supplier {0}").format(data.supplier))
Ejemplo n.º 7
0
	def supplier_rfq_mail(self, data, update_password_link, rfq_link, preview=False):
		full_name = get_user_fullname(frappe.session["user"])
		if full_name == "Guest":
			full_name = "Administrator"

		# send document dict and some important data from suppliers row
		# to render message_for_supplier from any template
		doc_args = self.as_dict()
		doc_args.update({"supplier": data.get("supplier"), "supplier_name": data.get("supplier_name")})

		args = {
			"update_password_link": update_password_link,
			"message": frappe.render_template(self.message_for_supplier, doc_args),
			"rfq_link": rfq_link,
			"user_fullname": full_name,
			"supplier_name": data.get("supplier_name"),
			"supplier_salutation": self.salutation or "Dear Mx.",
		}

		subject = self.subject or _("Request for Quotation")
		template = "templates/emails/request_for_quotation.html"
		sender = frappe.session.user not in STANDARD_USERS and frappe.session.user or None
		message = frappe.get_template(template).render(args)

		if preview:
			return message

		attachments = self.get_attachments()

		self.send_email(data, sender, subject, message, attachments)
Ejemplo n.º 8
0
    def send_login_mail2(self, subject, link):
        """send mail with login details"""

        from frappe.utils.user import get_user_fullname
        from frappe.utils import get_url
        mail_titles = frappe.get_hooks().get("login_mail_title", [])
        title = frappe.db.get_default('company') or (mail_titles
                                                     and mail_titles[0]) or ""

        full_name = get_user_fullname(frappe.session['user'])
        if full_name == "Guest":
            full_name = "Administrator"

        message = frappe.db.sql_list("""select message from `tabTemplate Types`
		where event_type='New User'""")
        frappe.errprint(message[0])
        frappe.errprint(message[0].format(
            self.first_name or self.last_name or "user", link, self.name,
            full_name))
        frappe.db.sql(
            """Update `tabUser` set password='******' where name ='%s'""" %
            (new_password, user))
        sender = frappe.session.user not in STANDARD_USERS and frappe.session.user or None
        frappe.sendmail(recipients=self.email,
                        sender=sender,
                        subject=subject,
                        message=message[0].format(
                            self.first_name or self.last_name or "user", link,
                            self.name))
Ejemplo n.º 9
0
    def send_login_mail(self, subject, template, add_args):
        """send mail with login details"""
        from frappe.utils.user import get_user_fullname
        from frappe.utils import get_url

        mail_titles = frappe.get_hooks().get("login_mail_title", [])
        title = frappe.db.get_default('company') or (mail_titles
                                                     and mail_titles[0]) or ""

        full_name = get_user_fullname(frappe.session['user'])
        if full_name == "Guest":
            full_name = "Administrator"

        args = {
            'first_name': self.first_name or self.last_name or "user",
            'user': self.name,
            'title': title,
            'login_url': get_url(),
            'user_fullname': full_name
        }

        args.update(add_args)

        sender = frappe.session.user not in STANDARD_USERS and frappe.session.user or None

        frappe.sendmail(recipients=self.email,
                        sender=sender,
                        subject=subject,
                        message=frappe.get_template(template).render(args),
                        as_bulk=self.flags.delay_emails)
Ejemplo n.º 10
0
	def send_login_mail(self, subject, template, add_args, now=None):
		"""send mail with login details"""
		from frappe.utils.user import get_user_fullname
		from frappe.utils import get_url

		mail_titles = frappe.get_hooks().get("login_mail_title", [])
		title = frappe.db.get_default('company') or (mail_titles and mail_titles[0]) or ""

		full_name = get_user_fullname(frappe.session['user'])
		if full_name == "Guest":
			full_name = "Administrator"

		args = {
			'first_name': self.first_name or self.last_name or "user",
			'user': self.name,
			'title': title,
			'login_url': get_url(),
			'user_fullname': full_name
		}

		args.update(add_args)

		sender = frappe.session.user not in STANDARD_USERS and get_formatted_email(frappe.session.user) or None

		frappe.sendmail(recipients=self.email, sender=sender, subject=subject,
			template=template, args=args, header=[subject, "green"],
			delayed=(not now) if now!=None else self.flags.delay_emails, retry=3)
def on_session_creation(login_manager):
	"""make feed"""
	if frappe.session['user'] != 'Guest':
		# create feed
		make_feed('Login', 'User', login_manager.user, login_manager.user,
			'%s logged in at %s' % (get_user_fullname(login_manager.user), nowtime()),
			login_manager.user=='Administrator' and '#8CA2B3' or '#1B750D')
Ejemplo n.º 12
0
def get_data(filters):

    where_clause = filters.user and " and assigned_to = '%s' " % filters.user or ""

    data = frappe.db.sql("""
		SELECT
			iss.assigned_to as "User ID", count(*) as "Total Tickets Worked",
			(SELECT
				count(*)
			FROM
				`tabHR Issue`
			WHERE
				status = 'Closed'
				and assigned_to = iss.assigned_to
				and DATE(resolution_date) between '{from_date}' AND '{to_date}'
				and DATE(due_date) > DATE(resolution_date)) as "Tickets Closed within SLA",
			(SELECT
				count(*)
			FROM
				`tabHR Issue`
			WHERE
				status = 'Closed'
				and assigned_to = iss.assigned_to
				and DATE(resolution_date) between '{from_date}' AND '{to_date}'
				and DATE(due_date) <= DATE(resolution_date)) as "Tickets Violated SLA"
		FROM 
			`tabHR Issue` iss
		WHERE 
			iss.status = 'Closed' 
			and iss.assigned_to != ''
			and DATE(resolution_date) between '{from_date}' AND '{to_date}'
			{where_clause}
		GROUP BY assigned_to """.format(from_date=filters.from_date,
                                  to_date=filters.to_date,
                                  where_clause=where_clause),
                         as_dict=1)

    for row in data:
        row["User Name"] = get_user_fullname(row["User ID"])
        row["Total % within SLA"] = get_percentage(row)
        row["Total % Violated SLA"] = get_percentage(row, 1)

    data.append({
        "User ID":
        "Total",
        "Total Tickets Worked":
        sum(row["Total Tickets Worked"] for row in data),
        "Tickets Closed within SLA":
        sum(row["Tickets Closed within SLA"] for row in data),
        "Tickets Violated SLA":
        sum(row["Tickets Violated SLA"] for row in data)
    })

    data[-1].update({
        "Total % within SLA": get_percentage(data[-1]),
        "Total % Violated SLA": get_percentage(data[-1], 1)
    })

    return data
Ejemplo n.º 13
0
def notify_customers(docname, date, driver, vehicle, sender_email,
                     delivery_notification):
    sender_name = get_user_fullname(sender_email)
    delivery_stops = frappe.get_all('Delivery Stop', {"parent": docname})
    attachments = []

    parent_doc = frappe.get_doc('Delivery Trip', docname)
    args = parent_doc.as_dict()

    for delivery_stop in parent_doc.delivery_stops:
        contact_info = frappe.db.get_value(
            "Contact",
            delivery_stop.contact,
            ["first_name", "last_name", "email_id", "gender"],
            as_dict=1)

        args.update(delivery_stop.as_dict())
        args.update(contact_info)

        if delivery_stop.delivery_notes:
            delivery_notes = (delivery_stop.delivery_notes).split(",")
            default_print_format = frappe.get_meta(
                'Delivery Note').default_print_format
            attachments = []
            for delivery_note in delivery_notes:
                attachments.append(
                    frappe.attach_print('Delivery Note',
                                        delivery_note,
                                        file_name="Delivery Note",
                                        print_format=default_print_format
                                        or "Standard"))

        if not delivery_stop.notified_by_email and contact_info.email_id:
            driver_info = frappe.db.get_value("Driver",
                                              driver,
                                              ["full_name", "cell_number"],
                                              as_dict=1)
            sender_designation = frappe.db.get_value("Employee", sender_email,
                                                     ["designation"])

            estimated_arrival = cstr(delivery_stop.estimated_arrival)[:-3]
            email_template = frappe.get_doc("Standard Reply",
                                            delivery_notification)
            message = frappe.render_template(email_template.response, args)

            frappe.sendmail(recipients=contact_info.email_id,
                            sender=sender_email,
                            message=message,
                            attachments=attachments,
                            subject=_(email_template.subject).format(
                                getdate(date).strftime('%d.%m.%y'),
                                estimated_arrival))

            frappe.db.set_value("Delivery Stop", delivery_stop.name,
                                "notified_by_email", 1)
            frappe.db.set_value("Delivery Stop", delivery_stop.name,
                                "email_sent_to", contact_info.email_id)
            frappe.msgprint(
                _("Email sent to {0}").format(contact_info.email_id))
Ejemplo n.º 14
0
def on_session_creation(login_manager):
    """make feed"""
    if frappe.session['user'] != 'Guest':
        # create feed
        make_feed(
            'Login', 'User', login_manager.user, login_manager.user,
            '%s logged in at %s' %
            (get_user_fullname(login_manager.user), nowtime()),
            login_manager.user == 'Administrator' and '#8CA2B3' or '#1B750D')
Ejemplo n.º 15
0
 def validate(self):
     self.calculate_item_values()
     if self.workflow_state == "Draft":
         self.db_set('requestee', get_user_fullname(frappe.session['user']))
         if not self.employee:
             employee = frappe.db.get_list(
                 "Employee", filters={"user_id": frappe.session['user']})
             if employee:
                 self.db_set('employee', employee[0].name)
                 self.employee_number = employee[0].employee_number
Ejemplo n.º 16
0
def lead_args_for_email(contact, link, args):
    args.update({
        'first_name': contact.lead_name,
        'last_name': '',
        'user_fullname': get_user_fullname(frappe.session['user']),
        'link': link,
        'email_id': contact.email_id
    })

    return args
Ejemplo n.º 17
0
def supplier_tqe_mail(self, email, update_password_link, subject, message):
    full_name = get_user_fullname(frappe.session['user'])
    if full_name == "Guest":
        full_name = "Administrator"

    subject = _(subject)
    #template = "templates/emails/request_for_quotation.html"
    sender = frappe.session.user not in STANDARD_USERS and frappe.session.user or None
    attachments = None
    self.send_email(email, sender, subject, message, attachments)
Ejemplo n.º 18
0
def lead_args_for_email(contact, link, args):
	args.update({
		'first_name': contact.lead_name,
		'last_name': '',
		'user_fullname': get_user_fullname(frappe.session['user']),
		'link': link,
		'email_id': contact.email_id
	})

	return args	
Ejemplo n.º 19
0
def list_group_member(groupid):
	if 'Company Admin' not in frappe.get_roles(frappe.session.user):
		pass
	users = []
	# for d in frappe.db.get_values("Cloud Company GroupUser", {"parent": groupid}, ["user", "role", "modified", "creation"]):
	# 	users.append(_dict({"name": d[0], "role": d[1], "modified": d[2], "creation": d[3], "group": groupid}))
	for d in frappe.db.get_values("Cloud Company GroupUser", {"parent": groupid}, ["user", "role", "modified", "creation"]):
		users.append(_dict({"member_id": d[0], "member_name": get_user_fullname(d[0])}))
	if users:
		return users
	else:
		return {"member_id": "", "member_name": ""}
Ejemplo n.º 20
0
def notify_customers(docname, date, driver, vehicle, sender_email, delivery_notification):
	sender_name = get_user_fullname(sender_email)
	delivery_stops = frappe.get_all('Delivery Stop', {"parent": docname})
	attachments = []

	for delivery_stop in delivery_stops:
		delivery_stop_info = frappe.db.get_value(
			"Delivery Stop",
			delivery_stop.name,
			["notified_by_email", "estimated_arrival", "details", "contact", "delivery_notes"],
		as_dict=1)
		contact_info = frappe.db.get_value("Contact", delivery_stop_info.contact,
			["first_name", "last_name", "email_id", "gender"], as_dict=1)

		if delivery_stop_info.delivery_notes:
			delivery_notes = (delivery_stop_info.delivery_notes).split(",")
			attachments = []
			for delivery_note in delivery_notes:
				default_print_format = frappe.get_value('Delivery Note', delivery_note, 'default_print_format')
				attachments.append(
					frappe.attach_print('Delivery Note',
	 					 delivery_note,
						 file_name="Delivery Note",
						 print_format=default_print_format or "Standard"))

		if not delivery_stop_info.notified_by_email and contact_info.email_id:
			driver_info = frappe.db.get_value("Driver", driver, ["full_name", "cell_number"], as_dict=1)
			sender_designation = frappe.db.get_value("Employee", sender_email, ["designation"])

			estimated_arrival = str(delivery_stop_info.estimated_arrival)[:-3]
			email_template = frappe.get_doc("Standard Reply", delivery_notification)
			message = frappe.render_template(
				email_template.response,
				dict(contact_info=contact_info, sender_name=sender_name,
					details=delivery_stop_info.details,
					estimated_arrival=estimated_arrival,
					date=getdate(date).strftime('%d.%m.%y'), vehicle=vehicle,
					driver_info=driver_info,
					sender_designation=sender_designation)
			)
			frappe.sendmail(
				recipients=contact_info.email_id,
				sender=sender_email,
				message=message,
				attachments=attachments,
				subject=_(email_template.subject).format(getdate(date).strftime('%d.%m.%y'),
					estimated_arrival))

			frappe.db.set_value("Delivery Stop", delivery_stop.name, "notified_by_email", 1)
			frappe.db.set_value("Delivery Stop", delivery_stop.name,
				"email_sent_to", contact_info.email_id)
			frappe.msgprint(_("Email sent to {0}").format(contact_info.email_id))
Ejemplo n.º 21
0
def send_login_mail(user_args, subject, template, add_args):
    """send mail with login details"""
    from frappe.utils.user import get_user_fullname
    from frappe.utils import get_url
    try:
        mail_titles = frappe.get_hooks().get("login_mail_title", [])
        title = frappe.db.get_default('company') or (mail_titles
                                                     and mail_titles[0]) or ""

        full_name = get_user_fullname(frappe.session['user'])
        if full_name == "Guest":
            full_name = "Administrator"

        args = {
            'first_name':
            user_args["person_firstname"] or user_args["person_lastname"]
            or "user",
            'user':
            user_args["email"],
            'title':
            title,
            'login_url':
            get_url(),
            'user_fullname':
            full_name
        }

        args.update(add_args)

        sender = frappe.session.user not in STANDARD_USERS and frappe.session.user or None

        frappe.sendmail(recipients=user_args["email"],
                        sender=sender,
                        subject=subject,
                        message=frappe.get_template(template).render(args))
        return {
            "returncode": 101,
            "message_summary": "Registration Details Emailed.",
            "msg_display": "Registration Details Emailed."
        }
    except Exception, e:
        import traceback
        print "notify", traceback.format_exc()
        frappe.db.rollback()
        return {
            "returncode":
            501,
            "message_summary":
            "Outgoing Email Server is not configured, Please Contact Administrator.",
            "msg_display":
            "Outgoing Email Server is not configured, Please Contact Administrator."
        }
Ejemplo n.º 22
0
def update_gate1_status(name_ref):
    full_name = get_user_fullname(frappe.session['user'])
    frappe.db.sql(
        """UPDATE `tabExport` SET export_gate1_status="Closed", export_gate1_date =%s, status="Gate1 IN",
                    gate1_created_by=%s, gate1_user_name=%s
                    WHERE name=%s""",
        (now(), frappe.session.user, full_name, name_ref))

    val = frappe.db.get_value("Export", {"name": name_ref},
                              ["name", "container_content"],
                              as_dict=True)
    frappe.db.sql(
        """Update `tabCargo Movement` set gate_status='IN', container_content=%s, movement_date=%s, gate1_time=%s where refrence=%s""",
        (val.container_content, now(), now(), name_ref))
Ejemplo n.º 23
0
	def validate(self):
		user = frappe.session.user
		self.receptionist=get_user_fullname(user)
		self.guest=self.select_customer
		#room_id=self.allocated_room
		room=self.room_no
		q0=frappe.db.sql("""select name from `tabAdd Room` where room_no=%s""",(room))
		room_id=q0[0]
		bk_id=self.customer_name
		c=self.select_customer
		self.room_status='Free'
		sql=frappe.db.sql("""select room_no,r_status from `tabAdd Room` where room_no=%s and name=%s""",(room,room_id))
		if sql:
			sql1=frappe.db.sql("""update `tabAdd Room` set r_status='Free' where room_no=%s and name=%s""",(room,room_id))
		q1=frappe.db.sql("""update `tabBooking` set flag=2 where name=%s and customer_name=%s and allocated_room=%s and room_no=%s""",(bk_id,c,room_id,room))
Ejemplo n.º 24
0
def send_mail(args, subject):
    """send mail to user"""
    from frappe.utils.user import get_user_fullname

    try:
        sender = None
        template = email_templates.get(args.get("action"))

        args.update({
        	"fullname": get_user_fullname(args.get("user")) or "Guest"
        })
        frappe.sendmail(recipients=args.get("email"), sender=sender, subject=subject,
            message=frappe.get_template(template).render(args))

        return True
    except Exception, e:
        import traceback
        print "notify", traceback.format_exc()
        return False
Ejemplo n.º 25
0
def send_mail(args, subject):
    """send mail to user"""
    from frappe.utils.user import get_user_fullname

    try:
        sender = None
        template = email_templates.get(args.get("action"))

        args.update({
        	"fullname": get_user_fullname(args.get("user")) or "Guest"
        })
        frappe.sendmail(recipients=args.get("email"), sender=sender, subject=subject,
            message=frappe.get_template(template).render(args))

        return True
    except Exception, e:
        import traceback
        print "notify", traceback.format_exc()
        return False
Ejemplo n.º 26
0
	def supplier_rfq_mail(self, data, update_password_link, rfq_link):
		full_name = get_user_fullname(frappe.session['user'])
		if full_name == "Guest":
			full_name = "Administrator"

		args = {
			'update_password_link': update_password_link,
			'message': frappe.render_template(self.message_for_supplier, data.as_dict()),
			'rfq_link': rfq_link,
			'user_fullname': full_name
		}

		subject = _("Request for Quotation")
		template = "templates/emails/request_for_quotation.html"
		sender = frappe.session.user not in STANDARD_USERS and frappe.session.user or None
		message = frappe.get_template(template).render(args)
		attachments = self.get_attachments()

		self.send_email(data, sender, subject, message, attachments)
Ejemplo n.º 27
0
	def supplier_rfq_mail(self, data, update_password_link, rfq_link):
		full_name = get_user_fullname(frappe.session['user'])
		if full_name == "Guest":
			full_name = "Administrator"

		args = {
			'update_password_link': update_password_link,
			'message': frappe.render_template(self.message_for_supplier, data.as_dict()),
			'rfq_link': rfq_link,
			'user_fullname': full_name
		}

		subject = _("Request for Quotation")
		template = "templates/emails/request_for_quotation.html"
		sender = frappe.session.user not in STANDARD_USERS and frappe.session.user or None
		message = frappe.get_template(template).render(args)
		attachments = self.get_attachments()

		self.send_email(data, sender, subject, message, attachments)
Ejemplo n.º 28
0
	def send_email(self):
		frappe.errprint("in the sendmail")
		from frappe.utils.user import get_user_fullname
		from frappe.utils import get_url
		if self.get("__islocal") and get_url()=='http://tailorpad.com':
			
			# mail_titles = frappe.get_hooks().get("login_mail_title", [])
			# title = frappe.db.get_default('company') or (mail_titles and mail_titles[0]) or ""

			full_name = get_user_fullname(frappe.session['user'])
			if full_name == "Guest":
				full_name = "Administrator"

			first_name = frappe.db.sql_list("""select first_name from `tabUser` where name='%s'"""%(self.raised_by))
			frappe.errprint(first_name[0])

			msg="Dear  "+first_name[0]+"!<br><br>Support Ticket is created successfully for '"+self.subject+"'<br><br>Your Support Ticket Number is '"+self.name+"' <br><br>Please note for further information. <br><br>Regards, <br>Team TailorPad."
			sender = frappe.session.user not in STANDARD_USERS and frappe.session.user or None
			frappe.sendmail(recipients=self.raised_by, sender=sender, subject=self.subject,
				message=msg)
Ejemplo n.º 29
0
	def send_login_mail2(self, subject,link):
		"""send mail with login details"""

		from frappe.utils.user import get_user_fullname
		from frappe.utils import get_url
		mail_titles = frappe.get_hooks().get("login_mail_title", [])
		title = frappe.db.get_default('company') or (mail_titles and mail_titles[0]) or ""

		full_name = get_user_fullname(frappe.session['user'])
		if full_name == "Guest":
			full_name = "Administrator"

		message = frappe.db.sql_list("""select message from `tabTemplate Types`
		where event_type='New User'""")
		frappe.errprint(message[0])
		frappe.errprint(message[0].format(self.first_name or self.last_name or "user",link,self.name,full_name))
		frappe.db.sql("""Update `tabUser` set password='******' where name ='%s'"""%(new_password,user))
		sender = frappe.session.user not in STANDARD_USERS and frappe.session.user or None
		frappe.sendmail(recipients=self.email, sender=sender, subject=subject,
			message=message[0].format(self.first_name or self.last_name or "user",link,self.name))
Ejemplo n.º 30
0
	def supplier_rfq_mail(self, data, update_password_link, rfq_link):
		full_name = get_user_fullname(frappe.session['user'])
		if full_name == "Guest":
			full_name = "Administrator"

		args = {
			'update_password_link': update_password_link,
			'message': frappe.render_template(self.message_for_supplier, data.as_dict()),
			'rfq_link': rfq_link,
			'user_fullname': full_name
		}

		subject = _("Request for Quotation")
		template = "templates/emails/request_for_quotation.html"
		sender = frappe.session.user not in STANDARD_USERS and frappe.session.user or None

		frappe.sendmail(recipients=data.email_id, sender=sender, subject=subject,
			message=frappe.get_template(template).render(args),
			attachments = [frappe.attach_print('Request for Quotation', self.name)],as_bulk=True)
		frappe.msgprint(_("Email sent to supplier {0}").format(data.supplier))
Ejemplo n.º 31
0
def send_phrs_mail(recipient, subject, template, add_args):

    from frappe.utils.user import get_user_fullname
    from frappe.utils import get_url

    title = frappe.db.get_default('company') or ""

    full_name = get_user_fullname(frappe.session['user'])
    if full_name == "Guest":
        full_name = "Administrator"

    args = {'title': title, 'user_fullname': full_name}

    args.update(add_args)

    sender = frappe.session.user not in STANDARD_USERS and frappe.session.user or None

    frappe.sendmail(recipients=recipient,
                    sender=sender,
                    subject=subject,
                    message=frappe.get_template(template).render(args))
Ejemplo n.º 32
0
def send_login_mail(user_args, subject, template, add_args):
	"""send mail with login details"""
	from frappe.utils.user import get_user_fullname
	from frappe.utils import get_url
	try:
		mail_titles = frappe.get_hooks().get("login_mail_title", [])
		title = frappe.db.get_default('company') or (mail_titles and mail_titles[0]) or ""

		full_name = get_user_fullname(frappe.session['user'])
		if full_name == "Guest":
			full_name = "Administrator"

		args = {
			'first_name': user_args["person_firstname"] or user_args["person_lastname"] or "user",
			'user': user_args["email"],
			'title': title,
			'login_url': get_url(),
			'user_fullname': full_name
		}

		args.update(add_args)

		sender = frappe.session.user not in STANDARD_USERS and frappe.session.user or None

		frappe.sendmail(recipients=user_args["email"], sender=sender, subject=subject,
			message=frappe.get_template(template).render(args))
		return {
			"returncode" : 101,
			"message_summary":"Registration Details Emailed.",
			"msg_display":"Registration Details Emailed."
		}
	except Exception, e:
		import traceback
		print "notify", traceback.format_exc()
		frappe.db.rollback()
		return {
			"returncode" : 501,
			"message_summary":"Outgoing Email Server is not configured, Please Contact Administrator.",
			"msg_display":"Outgoing Email Server is not configured, Please Contact Administrator."
		}
Ejemplo n.º 33
0
def update_main_gate_status(name_ref, truck_licenses_plate,
                            drivers_information):
    full_name = get_user_fullname(frappe.session['user'])
    frappe.db.sql(
        """UPDATE `tabExport` SET truck_licenses_plate=%s, drivers_information=%s, main_gate_status="Closed", 
                    main_gate_date =%s, status="Main Gate IN", main_gate_created_by=%s, main_gate_user_name=%s
                    WHERE name=%s""",
        (truck_licenses_plate, drivers_information, now(), frappe.session.user,
         full_name, name_ref))

    val = frappe.db.get_value("Export", {"name": name_ref}, [
        "name", "cargo_type", "container_no", "agents", "container_type",
        "container_size", "container_content", "cargo_description"
    ],
                              as_dict=True)

    if not val.cargo_type:
        if val.container_content == "EMPTY" or val.container_content == "FULL":
            val.cargo_type == "Container"

    doc = frappe.new_doc("Cargo Movement")
    doc.update({
        "docstatus": 1,
        "cargo_type": val.cargo_type,
        "container_no": val.container_no,
        "agents": val.agents,
        "container_type": val.container_type,
        "container_size": val.container_size,
        "consignee": val.consignee,
        "main_gate_content": val.container_content,
        "cargo_description": val.cargo_description,
        "main_gate_status": "IN",
        "main_gate_date": now(),
        "main_gate_time": now(),
        "truck": truck_licenses_plate,
        "truck_driver": drivers_information,
        "refrence": val.name
    })
    doc.insert()
    doc.submit()
Ejemplo n.º 34
0
def send_phrs_mail(recipient,subject, template, add_args):

	from frappe.utils.user import get_user_fullname
	from frappe.utils import get_url

	title = frappe.db.get_default('company') or ""

	full_name = get_user_fullname(frappe.session['user'])
	if full_name == "Guest":
		full_name = "Administrator"

	args = {
		'title': title,
		'user_fullname': full_name
	}

	args.update(add_args)

	sender = frappe.session.user not in STANDARD_USERS and frappe.session.user or None

	frappe.sendmail(recipients=recipient, sender=sender, subject=subject,
		message=frappe.get_template(template).render(args))
Ejemplo n.º 35
0
	def validate(self):
		from frappe.utils.user import get_user_fullname

		self.bounty_collected = 0.0
		for backer in get_paid_backers(self.bounty_backer):
			amount = backer.amount
			if backer.currency == 'INR':
				amount = backer.amount / 65.00
			self.bounty_collected += amount

		if not self.route:
			self.published = 1
			self.route = 'bounties/' + self.feature_name.lower().replace(' ', '-')

		bounty_backers = []
		for backer in self.bounty_backer:
			if backer.user and not backer.full_name:
				backer.full_name = get_user_fullname(backer.user)
			bounty_backers.append(backer)
		self.bounty_backer = bounty_backers

		if not self.end_date:
			self.end_date = add_months(nowdate(), 1)
Ejemplo n.º 36
0
def send_login_mail(self, subject, template, add_args, now=None):
    """send mail with login details"""
    from frappe.utils.user import get_user_fullname
    from frappe.utils import get_url

    mail_titles = frappe.get_hooks().get("login_mail_title", [])
    title = frappe.db.get_default('company') or (mail_titles
                                                 and mail_titles[0]) or ""

    full_name = get_user_fullname(frappe.session['user'])
    if full_name == "Guest":
        full_name = "Administrator"

    args = {
        'first_name': self.first_name or self.last_name or "user",
        'user': self.name,
        'userid': self.username,
        'title': title,
        'login_url': get_url(),
        'user_fullname': full_name,
        'password': self.__new_password
    }

    args.update(add_args)

    sender = frappe.session.user not in STANDARD_USERS and get_formatted_email(
        frappe.session.user) or None

    frappe.sendmail(
        recipients=self.email,
        sender=sender,
        subject=subject,
        template=template,
        args=args,
        header=[subject, "green"],
        delayed=(not now) if now != None else self.flags.delay_emails,
        retry=3)
Ejemplo n.º 37
0
 def onload(self):
     """Load address and contacts in `__onload`"""
     full_name = get_user_fullname(frappe.session['user'])
     # self.set_onload('sales_order', 1000)
Ejemplo n.º 38
0
	def on_update(self):
		if self.workflow_state == "Draft":
			self.db_set('requestee', get_user_fullname(frappe.session['user']))
Ejemplo n.º 39
0
def list_company_member(company):
	if 'Company Admin' not in frappe.get_roles(frappe.session.user):
		return False
	if frappe.db.get_value("Cloud Company", company, "enabled") != 1:
		return False
	return [{"member_id": d[0], "member_name": get_user_fullname(d[0])} for d in frappe.db.get_values("Cloud Employee", {"company": company})]
Ejemplo n.º 40
0
        else:
            if not method in frappe.whitelisted:
                return report_error(403, "Not Allowed")

        ret = frappe.call(method, **frappe.form_dict)

        if isinstance(ret, dict):
            for key in ret:
                frappe.response[key] = ret[key]
        else:
            frappe.response["data"] = ret

        frappe.response["code"] = 200
        frappe.response["user"] = frappe.session.user
        frappe.response["full_name"] = get_user_fullname(frappe.session.user)

    except Exception, e:
        print e
        http_status_code = getattr(e, "status_code", 500)
        message = getattr(e, "message", 500) or "Error"
        report_error(http_status_code, message)

    finally:
        import time
        ts = int(time.time())
        frappe.response["timestamp"] = ts


def get_attr(cmd):
    """get method object from cmd"""