diff --git a/.github/try-on-f-cloud-button.svg b/.github/try-on-f-cloud-button.svg
new file mode 100644
index 0000000000..fe0bb2c52d
--- /dev/null
+++ b/.github/try-on-f-cloud-button.svg
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/README.md b/README.md
index f8a1907da2..ef471aa05a 100644
--- a/README.md
+++ b/README.md
@@ -35,6 +35,12 @@
Full-stack web application framework that uses Python and MariaDB on the server side and a tightly integrated client side library. Built for [ERPNext](https://erpnext.com)
+
+
## Table of Contents
* [Installation](#installation)
* [Contributing](#contributing)
@@ -46,6 +52,7 @@ Full-stack web application framework that uses Python and MariaDB on the server
* [Install via Docker](https://github.com/frappe/frappe_docker)
* [Install via Frappe Bench](https://github.com/frappe/bench)
* [Offical Documentation](https://frappeframework.com/docs/user/en/installation)
+* [Managed Hosting on Frappe Cloud](https://frappecloud.com/deploy?apps=frappe&source=frappe_readme)
## Contributing
diff --git a/frappe/core/doctype/user/user.json b/frappe/core/doctype/user/user.json
index 1d5f89897d..cd7dcd6a34 100644
--- a/frappe/core/doctype/user/user.json
+++ b/frappe/core/doctype/user/user.json
@@ -202,7 +202,8 @@
"fieldname": "role_profile_name",
"fieldtype": "Link",
"label": "Role Profile",
- "options": "Role Profile"
+ "options": "Role Profile",
+ "permlevel": 1
},
{
"fieldname": "roles_html",
@@ -670,7 +671,7 @@
}
],
"max_attachments": 5,
- "modified": "2021-02-02 16:11:06.037543",
+ "modified": "2021-10-18 16:56:05.578379",
"modified_by": "Administrator",
"module": "Core",
"name": "User",
diff --git a/frappe/email/doctype/auto_email_report/auto_email_report.py b/frappe/email/doctype/auto_email_report/auto_email_report.py
index 37089d58df..7081a84e7a 100644
--- a/frappe/email/doctype/auto_email_report/auto_email_report.py
+++ b/frappe/email/doctype/auto_email_report/auto_email_report.py
@@ -249,7 +249,7 @@ def make_links(columns, data):
if col.options and row.get(col.fieldname) and row.get(col.options):
row[col.fieldname] = get_link_to_form(row[col.options], row[col.fieldname])
elif col.fieldtype == "Currency" and row.get(col.fieldname):
- doc = frappe.get_doc(col.parent, doc_name) if doc_name else None
+ doc = frappe.get_doc(col.parent, doc_name) if doc_name and col.parent else None
# Pass the Document to get the currency based on docfield option
row[col.fieldname] = frappe.format_value(row[col.fieldname], col, doc=doc)
return columns, data
diff --git a/frappe/installer.py b/frappe/installer.py
index 1fe891c852..d1a13fdaab 100755
--- a/frappe/installer.py
+++ b/frappe/installer.py
@@ -507,14 +507,13 @@ def convert_archive_content(sql_file_path):
sql_file_path = Path(sql_file_path)
os.rename(sql_file_path, old_sql_file_path)
- sql_file_path.unlink(missing_ok=True)
sql_file_path.touch()
with open(old_sql_file_path) as r, open(sql_file_path, "a") as w:
for line in r:
w.write(line.replace("ROW_FORMAT=COMPRESSED", "ROW_FORMAT=DYNAMIC"))
- old_sql_file_path.unlink(missing_ok=True)
+ old_sql_file_path.unlink()
def extract_sql_gzip(sql_gz_path):
diff --git a/frappe/public/js/frappe/list/bulk_operations.js b/frappe/public/js/frappe/list/bulk_operations.js
index 931f2cf587..ee6e6d753c 100644
--- a/frappe/public/js/frappe/list/bulk_operations.js
+++ b/frappe/public/js/frappe/list/bulk_operations.js
@@ -78,7 +78,7 @@ export default class BulkOperations {
args: {
doctype: 'Letter Head',
fields: ['name', 'is_default'],
- limit: 0
+ limit_page_length: 0
},
async: false,
callback (r) {
diff --git a/frappe/public/scss/website/index.scss b/frappe/public/scss/website/index.scss
index c3da42ed34..e5e9fe95c6 100644
--- a/frappe/public/scss/website/index.scss
+++ b/frappe/public/scss/website/index.scss
@@ -192,8 +192,8 @@ h5.modal-title {
}
.hidden-xs {
- @extend .d-none;
- @extend .d-sm-block;
+ @extend .d-block;
+ @extend .d-sm-none;
}
.visible-xs {
@@ -216,6 +216,10 @@ h5.modal-title {
float: right;
}
+.pull-left {
+ float: left;
+}
+
.image-with-blur {
transition: filter 300ms ease-in-out;
filter: blur(1.5rem);
diff --git a/frappe/www/update-password.html b/frappe/www/update-password.html
index 0d66fe5ab5..cacbce35b3 100644
--- a/frappe/www/update-password.html
+++ b/frappe/www/update-password.html
@@ -10,7 +10,7 @@
{{ _("Reset Password") if frappe.db.get_default('company') else _("Set Password")}}