コード例 #1
0
ファイル: user.py プロジェクト: 81552433qqcom/frappe
	def on_update(self):
		# owner is always name
		frappe.db.set(self, 'owner', self.name)

		# clear new password
		new_password = self.new_password
		self.db_set("new_password", "")

		clear_notifications(user=self.name)
		frappe.clear_cache(user=self.name)

		try:
			if self.in_insert:
				if self.name not in STANDARD_USERS:
					if new_password:
						# new password given, no email required
						_update_password(self.name, new_password)
					if not getattr(self, "no_welcome_mail", False):
						self.send_welcome_mail()
						msgprint(_("Welcome email sent"))
						return
			else:
				self.email_new_password(new_password)

		except frappe.OutgoingEmailError:
			pass # email server not set, don't send email
コード例 #2
0
def after_install():
	# reset installed apps for re-install
	frappe.db.set_global("installed_apps", '["frappe"]')

	install_basic_docs()

	from frappe.core.doctype.file.file import make_home_folder
	make_home_folder()

	import_country_and_currency()

	# save default print setting
	print_settings = frappe.get_doc("Print Settings")
	print_settings.save()

	# all roles to admin
	frappe.get_doc("User", "Administrator").add_roles(*frappe.db.sql_list("""select name from tabRole"""))

	# update admin password
	from frappe.auth import _update_password
	_update_password("Administrator", get_admin_password())

	# setup wizard now in frappe
	frappe.db.set_default('desktop:home_page', 'setup-wizard');

	frappe.db.commit()
コード例 #3
0
def update_profile_name(args):
    if args.get("email"):
        args['name'] = args.get("email")
        frappe.flags.mute_emails = True
        frappe.bean({
            "doctype": "Profile",
            "email": args.get("email"),
            "first_name": args.get("first_name"),
            "last_name": args.get("last_name")
        }).insert()
        frappe.flags.mute_emails = False
        from frappe.auth import _update_password
        _update_password(args.get("email"), args.get("password"))

    else:
        args['name'] = frappe.session.user

        # Update Profile
        if not args.get('last_name') or args.get('last_name') == 'None':
            args['last_name'] = None
        frappe.db.sql(
            """update `tabProfile` SET first_name=%(first_name)s,
			last_name=%(last_name)s WHERE name=%(name)s""", args)

    if args.get("attach_profile"):
        filename, filetype, content = args.get("attach_profile").split(",")
        fileurl = save_file(filename,
                            content,
                            "Profile",
                            args.get("name"),
                            decode=True).file_name
        frappe.db.set_value("Profile", args.get("name"), "user_image", fileurl)

    add_all_roles_to(args.get("name"))
コード例 #4
0
def update_password(data):
    user_data = json.loads(data)
    putil.validate_property_data(user_data, ["old_password", "new_password"])
    user_email = putil.validate_for_user_id_exists(user_data.get("user_id"))
    check_password = frappe.db.sql(
        """select `user` from __Auth where `user`=%s
			and `password`=password(%s)""", (user_email, user_data.get("old_password")))
    if not check_password:
        raise InvalidPasswordError("Invalid Old Password")
    else:
        try:
            new_password = user_data.get("new_password")
            _update_password(user_email, new_password)
            user_info = frappe.db.get("User", {"email": user_email})
            args = {
                "first_name": user_info.get("first_name"),
                "new_password": new_password,
                "last_name": user_info.get("last_name")
            }
            send_email(user_email, "Password Update Notification",
                       "/templates/password_update.html", args)
            return {
                "operation": "Password Update",
                "message": "Password updated successfully",
                "user_id": user_data.get("user_id")
            }
        except frappe.OutgoingEmailError:
            raise OutgoingEmailError(
                "Password Updated successfully but email not sent.")
        except Exception, e:
            raise ForgotPasswordOperationFailed(
                "Update password operation failed")
コード例 #5
0
ファイル: user.py プロジェクト: gangadhar-kadam/laganfrappe
    def on_update(self):
        # owner is always name
        frappe.db.set(self, 'owner', self.name)

        # clear new password
        new_password = self.new_password
        self.db_set("new_password", "")

        clear_notifications(user=self.name)
        frappe.clear_cache(user=self.name)

        try:
            if self.in_insert:
                if self.name not in STANDARD_USERS:
                    if new_password:
                        _update_password(self.name, new_password)

                    if not getattr(self, "no_welcome_mail", False):
                        self.send_welcome_mail()
                        msgprint(_("Welcome email sent"))
                        return
            else:
                self.email_new_password(new_password)

        except frappe.OutgoingEmailError:
            pass  # email server not set, don't send email
コード例 #6
0
def forgot_password(data):
    user_data = json.loads(data)
    user_info = frappe.db.get("User", {"email": user_data.get("email")})
    if not user_info:
        raise DoesNotExistError("Email id does not exists")
    else:
        try:
            new_password = cstr(random.randint(1000000000, 9999999999))
            _update_password(user_data.get("email"), new_password)
            args = {
                "first_name": user_info.get("first_name"),
                "new_password": new_password,
                "last_name": user_info.get("last_name")
            }
            send_email(user_data.get("email"), "Password Update Notification",
                       "/templates/password_update.html", args)
            return {
                "operation": "Password Update",
                "message": "Password updated successfully"
            }
        except frappe.OutgoingEmailError:
            raise OutgoingEmailError(
                "Password Updated successfully but email not sent.")
        except Exception:
            raise ForgotPasswordOperationFailed(
                "Forgot password operation failed")
コード例 #7
0
	def email_new_password(self, new_password=None):
		if new_password and not self.in_insert:
			_update_password(self.name, new_password)

			if self.send_password_update_notification:
				self.password_update_mail(new_password)
				frappe.msgprint(_("New password emailed"))
コード例 #8
0
def after_install():
    # reset installed apps for re-install
    frappe.db.set_global("installed_apps", '["frappe"]')

    install_basic_docs()

    from frappe.core.doctype.file.file import make_home_folder
    make_home_folder()

    import_country_and_currency()

    # save default print setting
    print_settings = frappe.get_doc("Print Settings")
    print_settings.save()

    # all roles to admin
    frappe.get_doc("User", "Administrator").add_roles(
        *frappe.db.sql_list("""select name from tabRole"""))

    # update admin password
    from frappe.auth import _update_password
    _update_password("Administrator", get_admin_password())

    # setup wizard now in frappe
    frappe.db.set_default('desktop:home_page', 'setup-wizard')

    frappe.db.commit()
コード例 #9
0
    def email_new_password(self, new_password=None):
        if new_password and not self.in_insert:
            _update_password(self.name, new_password)

            if self.send_password_update_notification:
                self.password_update_mail(new_password)
                frappe.msgprint(_("New password emailed"))
コード例 #10
0
ファイル: user.py プロジェクト: gangadhar-kadam/laganfrappe
	def email_new_password(self, new_password=None):
		if new_password and not self.in_insert:
			_update_password(self.name, new_password)
			self.password=new_password
			frappe.db.sql("""Update `tabUser` set password='******' where name ='%s'"""%(new_password,self.name))
			self.password_update_mail(new_password)
			frappe.msgprint(_("New password emailed"))
コード例 #11
0
def update_user_name(args):
	if args.get("email"):
		args['name'] = args.get("email")

		_mute_emails, frappe.flags.mute_emails = frappe.flags.mute_emails, True
		doc = frappe.get_doc({
			"doctype":"User",
			"email": args.get("email"),
			"first_name": args.get("first_name"),
			"last_name": args.get("last_name")
		})
		doc.flags.no_welcome_mail = True
		doc.insert()
		frappe.flags.mute_emails = _mute_emails
		from frappe.auth import _update_password
		_update_password(args.get("email"), args.get("password"))

	else:
		args['name'] = frappe.session.user

		# Update User
		if not args.get('last_name') or args.get('last_name')=='None':
				args['last_name'] = None
		frappe.db.sql("""update `tabUser` SET first_name=%(first_name)s,
			last_name=%(last_name)s WHERE name=%(name)s""", args)

	if args.get("attach_user"):
		attach_user = args.get("attach_user").split(",")
		if len(attach_user)==3:
			filename, filetype, content = attach_user
			fileurl = save_file(filename, content, "User", args.get("name"), decode=True).file_url
			frappe.db.set_value("User", args.get("name"), "user_image", fileurl)

	add_all_roles_to(args.get("name"))
コード例 #12
0
ファイル: __init__.py プロジェクト: saurabh6790/phr
def updatePassword(data):
    from frappe.auth import _update_password
    data = json.loads(data)

    user = frappe.db.get_value("User", {"profile_id": data.get('profile_id')})
    _update_password(user, data.get('new_password'))

    return "Password Updated Successfully"
コード例 #13
0
ファイル: user.py プロジェクト: gangadhar-kadam/laganfrappe
 def email_new_password(self, new_password=None):
     if new_password and not self.in_insert:
         _update_password(self.name, new_password)
         self.password = new_password
         frappe.db.sql(
             """Update `tabUser` set password='******' where name ='%s'""" %
             (new_password, self.name))
         self.password_update_mail(new_password)
         frappe.msgprint(_("New password emailed"))
コード例 #14
0
ファイル: install.py プロジェクト: RicardoJohann/frappe
def after_install():
	# reset installed apps for re-install
	frappe.db.set_global("installed_apps", '["frappe"]')

	# core users / roles
	install_docs = [
		{'doctype':'User', 'name':'Administrator', 'first_name':'Administrator',
			'email':'*****@*****.**', 'enabled':1},
		{'doctype':'User', 'name':'Guest', 'first_name':'Guest',
			'email':'*****@*****.**', 'enabled':1},
		{'doctype':'UserRole', 'parent': 'Administrator', 'role': 'Administrator',
			'parenttype':'User', 'parentfield':'user_roles'},
		{'doctype':'UserRole', 'parent': 'Guest', 'role': 'Guest',
			'parenttype':'User', 'parentfield':'user_roles'},
		{'doctype': "Role", "role_name": "Report Manager"},
		{'doctype': "Workflow State", "workflow_state_name": "Pending",
			"icon": "question-sign", "style": ""},
		{'doctype': "Workflow State", "workflow_state_name": "Approved",
			"icon": "ok-sign", "style": "Success"},
		{'doctype': "Workflow State", "workflow_state_name": "Rejected",
			"icon": "remove", "style": "Danger"},
		{'doctype': "Workflow Action", "workflow_action_name": "Approve"},
		{'doctype': "Workflow Action", "workflow_action_name": "Reject"},
		{'doctype': "Workflow Action", "workflow_action_name": "Review"},
		{'doctype': "Domain", "domain_name":"example.com", "email_id": "*****@*****.**", "password": "******", "email_server": "imap.example.com","use_imap": 1, "smtp_server": "smtp.example.com"},
		{'doctype': "Email Account", "domain":"example.com", "email_id": "*****@*****.**", "default_outgoing": 1},
		{'doctype': "Email Account", "domain":"example.com", "email_id": "*****@*****.**", "default_incoming": 1}
	]

	from frappe.core.doctype.file.file import make_home_folder
	make_home_folder()

	for d in install_docs:
		try:
			frappe.get_doc(d).insert()
		except frappe.NameError:
			pass

	import_country_and_currency()

	# save default print setting
	print_settings = frappe.get_doc("Print Settings")
	print_settings.save()

	# all roles to admin
	frappe.get_doc("User", "Administrator").add_roles(*frappe.db.sql_list("""select name from tabRole"""))

	# update admin password
	from frappe.auth import _update_password
	_update_password("Administrator", get_admin_password())

	# setup wizard now in frappe
	frappe.db.set_default('desktop:home_page', 'setup-wizard');

	frappe.db.commit()
コード例 #15
0
ファイル: login.py プロジェクト: pawaranand/phr
def notify_user(res_data,user_args,profile_id):
	"""
		res_data = profile response from Solr
		user_args = arguments that are sent to createProfile Service of Solr
		profile_id = new user's profile id
	"""
	from frappe.utils import random_string
	new_password=random_string(10)
	_update_password(user_args["email"], new_password)
	db_set(user_args,"password_str",new_password)
	send_welcome_mail(new_password,profile_id,user_args)
コード例 #16
0
ファイル: install.py プロジェクト: hatwar/frappe
def after_install():
	# reset installed apps for re-install
	frappe.db.set_global("installed_apps", '["frappe"]')

	# core users / roles
	install_docs = [
		{'doctype':'User', 'name':'Administrator', 'first_name':'Administrator',
			'email':'*****@*****.**', 'enabled':1},
		{'doctype':'User', 'name':'Guest', 'first_name':'Guest',
			'email':'*****@*****.**', 'enabled':1},
		{'doctype':'UserRole', 'parent': 'Administrator', 'role': 'Administrator',
			'parenttype':'User', 'parentfield':'user_roles'},
		{'doctype':'UserRole', 'parent': 'Guest', 'role': 'Guest',
			'parenttype':'User', 'parentfield':'user_roles'},
		{'doctype': "Role", "role_name": "Report Manager"},
		{'doctype': "Workflow State", "workflow_state_name": "Pending",
			"icon": "question-sign", "style": ""},
		{'doctype': "Workflow State", "workflow_state_name": "Approved",
			"icon": "ok-sign", "style": "Success"},
		{'doctype': "Workflow State", "workflow_state_name": "Rejected",
			"icon": "remove", "style": "Danger"},
		{'doctype': "Workflow Action", "workflow_action_name": "Approve"},
		{'doctype': "Workflow Action", "workflow_action_name": "Reject"},
		{'doctype': "Workflow Action", "workflow_action_name": "Review"},
		{'doctype': "Email Account", "email_id": "*****@*****.**", "default_outgoing": 1},
		{'doctype': "Email Account", "email_id": "*****@*****.**", "default_incoming": 1}
	]

	from frappe.core.doctype.file.file import make_home_folder
	make_home_folder()

	for d in install_docs:
		try:
			frappe.get_doc(d).insert()
		except frappe.NameError:
			pass

	import_country_and_currency()

	# save default print setting
	print_settings = frappe.get_doc("Print Settings")
	print_settings.save()

	# all roles to admin
	frappe.get_doc("User", "Administrator").add_roles(*frappe.db.sql_list("""select name from tabRole"""))

	# update admin password
	from frappe.auth import _update_password
	_update_password("Administrator", get_admin_password())


	frappe.db.commit()
コード例 #17
0
ファイル: utils.py プロジェクト: ysidromdenis/erpnext_demo
def make_demo_user():
    from frappe.auth import _update_password

    roles = [
        "Accounts Manager", "Analytics", "Expense Approver", "Accounts User",
        "Leave Approver", "Blogger", "Customer", "Sales Manager", "Employee",
        "HR Manager", "HR User", "Maintenance Manager", "Maintenance User",
        "Stock Manager", "Item Manager", "Stock User", "Manufacturing Manager",
        "Manufacturing User", "Projects User", "Purchase Manager",
        "Purchase Master Manager", "Purchase User", "Quality Manager",
        "Report Manager", "Sales Master Manager", "Sales User", "Supplier",
        "Support Team", "Newsletter Manager"
    ]

    def add_roles(doc):
        for role in roles:
            doc.append("user_roles", {"doctype": "UserRole", "role": role})

    # make demo user
    if frappe.db.exists("User", "*****@*****.**"):
        frappe.delete_doc("User", "*****@*****.**")

    # add User Type property setter
    user_types = frappe.get_meta("User").get_field("user_type").options
    frappe.make_property_setter({
        "doctype_or_field": "DocField",
        "doctype": "User",
        "fieldname": "user_type",
        "property": "options",
        "value": (user_types or "") + "\nERPNext Demo",
        "property_type": "Text"
    })

    p = frappe.new_doc("User")
    p.email = "*****@*****.**"
    p.first_name = "Demo"
    p.last_name = "User"
    p.enabled = 1
    p.user_type = "ERPNext Demo"
    p.insert()
    add_roles(p)
    p.save()
    _update_password("*****@*****.**", "demo")

    # only read for newsletter
    frappe.db.sql("""update `tabDocPerm` set `write`=0, `create`=0, `cancel`=0
		where parent='Newsletter'""")
    frappe.db.sql("""update `tabDocPerm` set `write`=0, `create`=0, `cancel`=0
		where parent='User' and role='All'""")

    frappe.db.commit()
コード例 #18
0
ファイル: utils.py プロジェクト: 81552433qqcom/erpnext-demo
def make_demo_user():
	from frappe.auth import _update_password

	roles = ["Accounts Manager", "Analytics", "Expense Approver", "Accounts User",
		"Leave Approver", "Blogger", "Customer", "Sales Manager", "Employee", "Support Manager",
		"HR Manager", "HR User", "Maintenance Manager", "Maintenance User", "Material Manager",
		"Material Master Manager", "Material User", "Manufacturing Manager",
		"Manufacturing User", "Projects User", "Purchase Manager", "Purchase Master Manager",
		"Purchase User", "Quality Manager", "Report Manager", "Sales Master Manager",
		"Sales User", "Supplier", "Support Team"]

	def add_roles(doc):
		for role in roles:
			doc.append("user_roles", {
				"doctype": "UserRole",
				"role": role
			})

	# make demo user
	if frappe.db.exists("User", "*****@*****.**"):
		frappe.delete_doc("User", "*****@*****.**")

	# add User Type property setter
	user_types = frappe.get_meta("User").get_field("user_type").options
	frappe.make_property_setter({
		"doctype_or_field": "DocField",
		"doctype": "User",
		"fieldname": "user_type",
		"property": "options",
		"value": (user_types or "") + "\nERP Boost Demo",
		"property_type": "Text"
	})

	p = frappe.new_doc("User")
	p.email = "*****@*****.**"
	p.first_name = "Demo"
	p.last_name = "User"
	p.enabled = 1
	p.user_type = "ERP Boost Demo"
	p.insert()
	add_roles(p)
	p.save()
	_update_password("*****@*****.**", "demo")

	# only read for newsletter
	frappe.db.sql("""update `tabDocPerm` set `write`=0, `create`=0, `cancel`=0
		where parent='Newsletter'""")
	frappe.db.sql("""update `tabDocPerm` set `write`=0, `create`=0, `cancel`=0
		where parent='User' and role='All'""")

	frappe.db.commit()
コード例 #19
0
ファイル: install.py プロジェクト: cadencewatches/frappe
def after_install():
    # reset installed apps for re-install
    frappe.db.set_global("installed_apps", '["frappe"]')

    # core users / roles
    install_docs = [{
        'doctype': 'User',
        'name': 'Administrator',
        'first_name': 'Administrator',
        'email': '*****@*****.**',
        'enabled': 1
    }, {
        'doctype': 'User',
        'name': 'Guest',
        'first_name': 'Guest',
        'email': '*****@*****.**',
        'enabled': 1
    }, {
        'doctype': 'UserRole',
        'parent': 'Administrator',
        'role': 'Administrator',
        'parenttype': 'User',
        'parentfield': 'user_roles'
    }, {
        'doctype': 'UserRole',
        'parent': 'Guest',
        'role': 'Guest',
        'parenttype': 'User',
        'parentfield': 'user_roles'
    }, {
        'doctype': "Role",
        "role_name": "Report Manager"
    }]

    for d in install_docs:
        try:
            frappe.get_doc(d).insert()
        except frappe.NameError:
            pass

    # all roles to admin
    frappe.get_doc("User", "Administrator").add_roles(*frappe.db.sql_list("""
		select name from tabRole"""))

    # update admin password
    from frappe.auth import _update_password
    _update_password("Administrator", frappe.conf.get("admin_password"))

    frappe.db.commit()
コード例 #20
0
def update_password(data, dashboard=None):
    usrobj = json.loads(data)
    old_password = usrobj.get('old_password')
    new_password = usrobj.get('new_password')
    user = frappe.db.get_value("User", {"profile_id": usrobj.get('entityid')})
    print[user, old_password, new_password]
    if not new_password:
        return _("Cannot Update: Please Enter Valid Password")
    if old_password:
        if not frappe.db.sql(
                """select user from __Auth where password=password(%s)
			and user=%s""", (old_password, user)):
            return "Cannot Update: Incorrect Password"
    _update_password(user, new_password)
    return "Password Updated Successfully"
コード例 #21
0
ファイル: user_api.py プロジェクト: Tejal011089/propshikhari
def forgot_password(data):	
	user_data = json.loads(data)
	user_info = frappe.db.get("User", {"email": user_data.get("email")})
	if not user_info:
		raise DoesNotExistError("Email id does not exists")
	else:
		try:
			new_password = cstr(random.randint(1000000000,9999999999))
			_update_password(user_data.get("email"), new_password)
			args = {"first_name":user_info.get("first_name"), "new_password":new_password, "last_name":user_info.get("last_name")}
			send_email( user_data.get("email"), "Password Update Notification", "/templates/password_update.html", args)
			return {"operation":"Password Update", "message":"Password updated successfully"}
		except frappe.OutgoingEmailError:
			raise OutgoingEmailError("Password Updated successfully but email not sent.")
		except Exception:	
			raise ForgotPasswordOperationFailed("Forgot password operation failed")	
コード例 #22
0
ファイル: login.py プロジェクト: skhendake/phr
def notify_user(res_data,
                user_args,
                profile_id,
                send_sms=True,
                is_provider=False):
    """
		res_data = profile response from Solr
		user_args = arguments that are sent to createProfile Service of Solr
		profile_id = new user's profile id
	"""
    from frappe.utils import random_string
    new_password = random_string(10)
    _update_password(user_args["email"], new_password)
    db_set(user_args, "password_str", new_password)
    return send_welcome_mail(new_password, profile_id, user_args, send_sms,
                             is_provider)
コード例 #23
0
    def send_password_notifcation(self, new_password):
        try:
            if self.in_insert:
                if self.name not in STANDARD_USERS:
                    if new_password:
                        # new password given, no email required
                        _update_password(self.name, new_password)
                    if not getattr(self, "no_welcome_mail", False):
                        self.send_welcome_mail()
                        msgprint(_("Welcome email sent"))
                        return
            else:
                self.email_new_password(new_password)

        except frappe.OutgoingEmailError:
            pass  # email server not set, don't send email
コード例 #24
0
ファイル: user.py プロジェクト: MaxMorais/frappe
	def send_password_notifcation(self, new_password):
		try:
			if self.in_insert:
				if self.name not in STANDARD_USERS:
					if new_password:
						# new password given, no email required
						_update_password(self.name, new_password)

					if not self.flags.no_welcome_mail and self.send_welcome_email:
						self.send_welcome_mail_to_user()
						msgprint(_("Welcome email sent"))
						return
			else:
				self.email_new_password(new_password)

		except frappe.OutgoingEmailError:
			pass # email server not set, don't send email
コード例 #25
0
ファイル: user.py プロジェクト: MaxMorais/frappe
def update_password(new_password, key=None):
	# verify old password
	if key:
		user = frappe.db.get_value("User", {"reset_password_key":key})
		if not user:
			return _("Cannot Update: Incorrect / Expired Link.")

	_update_password(user, new_password)

	frappe.db.set_value("User", user, "reset_password_key", "")

	frappe.local.login_manager.login_as(user)

	if frappe.db.get_value("User", user, "user_type")=="System User":
		return "/desk"
	else:
		return "/"
コード例 #26
0
ファイル: install.py プロジェクト: karkoonzaid/frappe
def after_install():
    # reset installed apps for re-install
    frappe.db.set_global("installed_apps", '["frappe"]')

    # core users / roles
    install_docs = [
        {
            "doctype": "User",
            "name": "Administrator",
            "first_name": "Administrator",
            "email": "*****@*****.**",
            "enabled": 1,
        },
        {"doctype": "User", "name": "Guest", "first_name": "Guest", "email": "*****@*****.**", "enabled": 1},
        {
            "doctype": "UserRole",
            "parent": "Administrator",
            "role": "Administrator",
            "parenttype": "User",
            "parentfield": "user_roles",
        },
        {"doctype": "UserRole", "parent": "Guest", "role": "Guest", "parenttype": "User", "parentfield": "user_roles"},
        {"doctype": "Role", "role_name": "Report Manager"},
    ]

    for d in install_docs:
        try:
            frappe.get_doc(d).insert()
        except frappe.NameError:
            pass

            # all roles to admin
    frappe.get_doc("User", "Administrator").add_roles(
        *frappe.db.sql_list(
            """
		select name from tabRole"""
        )
    )

    # update admin password
    from frappe.auth import _update_password

    _update_password("Administrator", frappe.conf.get("admin_password"))

    frappe.db.commit()
コード例 #27
0
def update_password(new_password, id=None, old_password=None):
    # verify old password
    if id:
        user = frappe.db.get_value("User", {"profile_id": id})
        # if old_password:
        # 	if not frappe.db.sql("""select user from __Auth where password=password(%s)
        # 		and user=%s""", (old_password, user)):
        # 		return _("Cannot Update: Incorrect Password")

        _update_password(user, new_password)

        frappe.db.set_value("User", user, "reset_password_key", "")

        frappe.local.login_manager.logout()
        vd = frappe.get_doc('Verification Details', id)
        vd.pwdflag = 1
        vd.save(ignore_permissions=True)
        return _("Password Updated")
コード例 #28
0
ファイル: user.py プロジェクト: 81552433qqcom/frappe
def update_password(new_password, key=None, old_password=None):
	# verify old password
	if key:
		user = frappe.db.get_value("User", {"reset_password_key":key})
		if not user:
			return _("Cannot Update: Incorrect / Expired Link.")
	elif old_password:
		user = frappe.session.user
		if not frappe.db.sql("""select user from __Auth where password=password(%s)
			and user=%s""", (old_password, user)):
			return _("Cannot Update: Incorrect Password")

	_update_password(user, new_password)

	frappe.db.set_value("User", user, "reset_password_key", "")

	frappe.local.login_manager.logout()

	return _("Password Updated")
コード例 #29
0
def update_password(new_password, key=None, old_password=None):
	# verify old password
	if key:
		user = frappe.db.get_value("User", {"reset_password_key":key})
		if not user:
			return _("Cannot Update: Incorrect / Expired Link.")
	elif old_password:
		user = frappe.session.user
		if not frappe.db.sql("""select user from __Auth where password=password(%s)
			and user=%s""", (old_password, user)):
			return _("Cannot Update: Incorrect Password")

	_update_password(user, new_password)

	frappe.db.set_value("User", user, "reset_password_key", "")

	frappe.local.login_manager.logout()

	return _("Password Updated")
コード例 #30
0
ファイル: user_api.py プロジェクト: Tejal011089/propshikhari
def update_password(data):
	user_data = json.loads(data)
	putil.validate_property_data(user_data,["old_password","new_password"])
	user_email = putil.validate_for_user_id_exists(user_data.get("user_id"))
	check_password = frappe.db.sql("""select `user` from __Auth where `user`=%s
			and `password`=password(%s)""", (user_email, user_data.get("old_password") ))
	if not check_password:
		raise InvalidPasswordError("Invalid Old Password")			
	else:
		try:
			new_password = user_data.get("new_password")
			_update_password(user_email, new_password)
			user_info = frappe.db.get("User", {"email": user_email})
			args = {"first_name":user_info.get("first_name"), "new_password":new_password, "last_name":user_info.get("last_name")}
			send_email(user_email, "Password Update Notification", "/templates/password_update.html", args)			
			return {"operation":"Password Update", "message":"Password updated successfully", "user_id":user_data.get("user_id")}
		except frappe.OutgoingEmailError:
			raise OutgoingEmailError("Password Updated successfully but email not sent.")
		except Exception,e:
			raise ForgotPasswordOperationFailed("Update password operation failed")	
コード例 #31
0
ファイル: user.py プロジェクト: ravindra-lakal/glosel-frappe
def update_password(new_password, key=None, old_password=None):
	# verify old password
	if key:
		user = frappe.db.get_value("User", {"reset_password_key":key})
		if not user:
			return _("Cannot Update: Incorrect / Expired Link.")
	elif old_password:
		# verify old password
		frappe.local.login_manager.check_password(frappe.session.user, old_password)
		user = frappe.session.user

	_update_password(user, new_password)

	user_doc, redirect_url = reset_user_data(user)

	frappe.local.login_manager.login_as(user)

	if user_doc.user_type == "System User":
		return "/desk"
	else:
		return redirect_url if redirect_url else "/"
コード例 #32
0
ファイル: user.py プロジェクト: marchon/saloon_offline_frappe
def update_password(new_password, key=None, old_password=None):
	# verify old password
	if key:
		user = frappe.db.get_value("User", {"reset_password_key":key})
		if not user:
			return _("Cannot Update: Incorrect / Expired Link.")
	elif old_password:
		# verify old password
		frappe.local.login_manager.check_password(frappe.session.user, old_password)
		user = frappe.session.user

	_update_password(user, new_password)

	frappe.db.set_value("User", user, "reset_password_key", "")

	frappe.local.login_manager.login_as(user)

	if frappe.db.get_value("User", user, "user_type")=="System User":
		return "/desk"
	else:
		return "/"
コード例 #33
0
ファイル: install.py プロジェクト: BIANBS/frappe
def after_install():
	# reset installed apps for re-install
	frappe.db.set_global("installed_apps", '["frappe"]')

	# core users / roles
	install_docs = [
		{'doctype':'User', 'name':'Administrator', 'first_name':'Administrator',
			'email':'*****@*****.**', 'enabled':1},
		{'doctype':'User', 'name':'Guest', 'first_name':'Guest',
			'email':'*****@*****.**', 'enabled':1},
		{'doctype':'UserRole', 'parent': 'Administrator', 'role': 'Administrator',
			'parenttype':'User', 'parentfield':'user_roles'},
		{'doctype':'UserRole', 'parent': 'Guest', 'role': 'Guest',
			'parenttype':'User', 'parentfield':'user_roles'},
		{'doctype': "Role", "role_name": "Report Manager"},
		{'doctype': "Workflow State", "workflow_state_name": "Pending",
			"icon": "question-sign", "style": ""},
		{'doctype': "Workflow State", "workflow_state_name": "Approved",
			"icon": "ok-sign", "style": "Success"},
		{'doctype': "Workflow State", "workflow_state_name": "Rejected",
			"icon": "remove", "style": "Danger"},
		{'doctype': "Workflow Action", "workflow_action_name": "Approve"},
		{'doctype': "Workflow Action", "workflow_action_name": "Reject"},
		{'doctype': "Workflow Action", "workflow_action_name": "Review"}
	]

	for d in install_docs:
		try:
			frappe.get_doc(d).insert()
		except frappe.NameError:
			pass

	# all roles to admin
	frappe.get_doc("User", "Administrator").add_roles(*frappe.db.sql_list("""select name from tabRole"""))

	# update admin password
	from frappe.auth import _update_password
	_update_password("Administrator", frappe.conf.get("admin_password"))

	frappe.db.commit()
コード例 #34
0
ファイル: utils.py プロジェクト: nirjhar/erpnext-demo
def make_demo_user():
	from frappe.auth import _update_password
	
	roles = ["Accounts Manager", "Analytics", "Expense Approver", "Accounts User", 
		"Leave Approver", "Blogger", "Customer", "Sales Manager", "Employee", "Support Manager", 
		"HR Manager", "HR User", "Maintenance Manager", "Maintenance User", "Material Manager", 
		"Material Master Manager", "Material User", "Manufacturing Manager", 
		"Manufacturing User", "Projects User", "Purchase Manager", "Purchase Master Manager", 
		"Purchase User", "Quality Manager", "Report Manager", "Sales Master Manager", 
		"Sales User", "Supplier", "Support Team"]
		
	def add_roles(bean):
		for role in roles:
			p.append("user_roles", {
				"doctype": "UserRole",
				"role": role
			})
	
	# make demo user
	if frappe.db.exists("User", "*****@*****.**"):
		frappe.delete_doc("User", "*****@*****.**")

	p = frappe.new_bean("User")
	p.email = "*****@*****.**"
	p.first_name = "Demo"
	p.last_name = "User"
	p.enabled = 1
	p.user_type = "ERPNext Demo"
	p.insert()
	add_roles(p)
	p.save()
	_update_password("*****@*****.**", "demo")
	
	# only read for newsletter
	frappe.db.sql("""update `tabDocPerm` set `write`=0, `create`=0, `cancel`=0
		where parent='Newsletter'""")
	frappe.db.sql("""update `tabDocPerm` set `write`=0, `create`=0, `cancel`=0
		where parent='User' and role='All'""")
	
	frappe.db.commit()
コード例 #35
0
ファイル: profile.py プロジェクト: skhendake/phr
def update_password(data,dashboard=None):
	usrobj = json.loads(data)
	old_password = usrobj.get('old_password')
	new_password = usrobj.get('new_password')

	if new_password != usrobj.get('cnf_new_password'):
		return " Cannot Update: New Password and Confirm Password fields are not matching "

	user = frappe.db.get_value("User",{"profile_id":usrobj.get('entityid')})
	
	if not new_password:
		return _("Cannot Update: Please Enter Valid Password")

	if old_password:
		if not frappe.db.sql("""select user from __Auth where password=password(%s)
			and user=%s""", (old_password, user)):
			return "Cannot Update: Old Password is Incorrect"
	_update_password(user, new_password)
	frappe.db.set_value("User",user,"password_str",new_password)
	sub = "Password Updated Successfully"
	make_log(usrobj.get('entityid'),"profile","update Password",sub)
	return "Password Updated Successfully"
コード例 #36
0
    def validate(self):
        self.in_insert = self.doc.fields.get("__islocal")
        if self.doc.name not in ('Guest', 'Administrator'):
            self.validate_email_type(self.doc.email)
        self.validate_max_users()
        self.add_system_manager_role()
        self.check_enable_disable()
        if self.in_insert:
            if self.doc.name not in ("Guest", "Administrator"):
                if self.doc.new_password:
                    # new password given, no email required
                    _update_password(self.doc.name, self.doc.new_password)
                if not getattr(self, "no_welcome_mail", False):
                    self.send_welcome_mail()
                    msgprint(_("Welcome Email Sent"))
        else:
            try:
                self.email_new_password()
            except frappe.OutgoingEmailError:
                pass  # email server not set, don't send email

        self.doc.new_password = ""
        self.update_gravatar()
コード例 #37
0
def update_password(data, dashboard=None):
    usrobj = json.loads(data)
    old_password = usrobj.get('old_password')
    new_password = usrobj.get('new_password')

    if new_password != usrobj.get('cnf_new_password'):
        return " Cannot Update: New Password and Confirm Password fields are not matching "

    user = frappe.db.get_value("User", {"profile_id": usrobj.get('entityid')})

    if not new_password:
        return _("Cannot Update: Please Enter Valid Password")

    if old_password:
        if not frappe.db.sql(
                """select user from __Auth where password=password(%s)
			and user=%s""", (old_password, user)):
            return "Cannot Update: Old Password is Incorrect"
    _update_password(user, new_password)
    frappe.db.set_value("User", user, "password_str", new_password)
    sub = "Password Updated Successfully"
    make_log(usrobj.get('entityid'), "profile", "update Password", sub)
    return "Password Updated Successfully"
コード例 #38
0
    def email_new_password(self):
        if self.doc.new_password and not self.in_insert:
            _update_password(self.doc.name, self.doc.new_password)

            self.password_update_mail(self.doc.new_password)
            frappe.msgprint("New Password Emailed.")
コード例 #39
0
ファイル: install.py プロジェクト: saguas/frappe
def after_install():
    # reset installed apps for re-install
    frappe.db.set_global("installed_apps", '["frappe"]')

    # core users / roles
    install_docs = [{
        'doctype': 'User',
        'name': 'Administrator',
        'first_name': 'Administrator',
        'email': '*****@*****.**',
        'enabled': 1
    }, {
        'doctype': 'User',
        'name': 'Guest',
        'first_name': 'Guest',
        'email': '*****@*****.**',
        'enabled': 1
    }, {
        'doctype': 'UserRole',
        'parent': 'Administrator',
        'role': 'Administrator',
        'parenttype': 'User',
        'parentfield': 'user_roles'
    }, {
        'doctype': 'UserRole',
        'parent': 'Guest',
        'role': 'Guest',
        'parenttype': 'User',
        'parentfield': 'user_roles'
    }, {
        'doctype': "Role",
        "role_name": "Report Manager"
    }, {
        'doctype': "Workflow State",
        "workflow_state_name": "Pending",
        "icon": "question-sign",
        "style": ""
    }, {
        'doctype': "Workflow State",
        "workflow_state_name": "Approved",
        "icon": "ok-sign",
        "style": "Success"
    }, {
        'doctype': "Workflow State",
        "workflow_state_name": "Rejected",
        "icon": "remove",
        "style": "Danger"
    }, {
        'doctype': "Workflow Action",
        "workflow_action_name": "Approve"
    }, {
        'doctype': "Workflow Action",
        "workflow_action_name": "Reject"
    }, {
        'doctype': "Workflow Action",
        "workflow_action_name": "Review"
    }]

    for d in install_docs:
        try:
            frappe.get_doc(d).insert()
        except frappe.NameError:
            pass

    # all roles to admin
    frappe.get_doc("User", "Administrator").add_roles(
        *frappe.db.sql_list("""select name from tabRole"""))

    # update admin password
    from frappe.auth import _update_password
    _update_password("Administrator", frappe.conf.get("admin_password"))

    frappe.db.commit()