From 649696fb93a5b2b18e51bf8947dfed70a42ba2c7 Mon Sep 17 00:00:00 2001 From: shreyas Date: Thu, 8 Sep 2016 13:33:27 +0530 Subject: [PATCH 1/6] [Minor] Added '--admin-password' to by pass admin password prompt on reinstalling the site --- frappe/commands/site.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/frappe/commands/site.py b/frappe/commands/site.py index b2707a8e15..c291780da3 100755 --- a/frappe/commands/site.py +++ b/frappe/commands/site.py @@ -110,9 +110,10 @@ def restore(context, sql_file_path, mariadb_root_username=None, mariadb_root_pas os.remove(private) @click.command('reinstall') +@click.option('--admin-password', help='Administrator Password for reinstalled site') @click.option('--yes', is_flag=True, default=False, help='Pass --yes to skip confirmation') @pass_context -def reinstall(context, yes=False): +def reinstall(context, admin_password=None, yes=False): "Reinstall site ie. wipe all data and start over" if not yes: @@ -134,7 +135,7 @@ def reinstall(context, yes=False): frappe.init(site=site) _new_site(frappe.conf.db_name, site, verbose=context.verbose, force=True, reinstall=True, - install_apps=installed) + install_apps=installed, admin_password=admin_password) @click.command('install-app') @click.argument('app') From e5efaea64b8427b137b8c326ec125abeca9b36d3 Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Fri, 9 Sep 2016 20:45:38 +0530 Subject: [PATCH 2/6] [fix] let module_name be the label for Desktop Icon so we can have reports too --- frappe/desk/doctype/desktop_icon/desktop_icon.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/desk/doctype/desktop_icon/desktop_icon.py b/frappe/desk/doctype/desktop_icon/desktop_icon.py index 32ce5275e9..fb707df280 100644 --- a/frappe/desk/doctype/desktop_icon/desktop_icon.py +++ b/frappe/desk/doctype/desktop_icon/desktop_icon.py @@ -117,7 +117,7 @@ def add_user_icon(_doctype, label=None, link=None, type='link', standard=0): new_icon = frappe.get_doc({ 'doctype': 'Desktop Icon', 'label': label, - 'module_name': _doctype, + 'module_name': label, 'link': link, 'type': type, '_doctype': _doctype, From c966fb3d00d5dff783a2634e93baabfcc2bf124a Mon Sep 17 00:00:00 2001 From: Rushabh Mehta Date: Mon, 12 Sep 2016 13:00:24 +0530 Subject: [PATCH 3/6] [fix] make "draft" heading for print format configurable --- frappe/patches.txt | 3 +- .../print_settings/print_settings.json | 49 +++++++++++++++++-- frappe/templates/print_formats/standard.html | 2 +- .../print_formats/standard_macros.html | 4 +- 4 files changed, 51 insertions(+), 7 deletions(-) diff --git a/frappe/patches.txt b/frappe/patches.txt index 9044ed4c4c..ece9d0c6e4 100644 --- a/frappe/patches.txt +++ b/frappe/patches.txt @@ -135,4 +135,5 @@ execute:frappe.db.sql('''delete from `tabSingles` where doctype="Email Settings" execute:frappe.db.sql("delete from `tabWeb Page` where ifnull(template_path, '')!=''") frappe.patches.v7_0.rename_newsletter_list_to_email_group frappe.patches.v7_0.replace_upgrade_link_limit -frappe.patches.v7_0.set_email_group \ No newline at end of file +frappe.patches.v7_0.set_email_group +execute:frappe.db.set_value("Print Settings", "Print Settings", "add_draft_heading", 1) \ No newline at end of file diff --git a/frappe/print/doctype/print_settings/print_settings.json b/frappe/print/doctype/print_settings/print_settings.json index 46bff36a66..d6d31a62bd 100644 --- a/frappe/print/doctype/print_settings/print_settings.json +++ b/frappe/print/doctype/print_settings/print_settings.json @@ -8,11 +8,13 @@ "docstatus": 0, "doctype": "DocType", "document_type": "System", + "editable_grid": 0, "fields": [ { "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "pdf_settings", "fieldtype": "Section Break", "hidden": 0, @@ -37,6 +39,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "default": "1", "description": "Send Email Print Attachments as PDF (Recommended)", "fieldname": "send_print_as_pdf", @@ -63,6 +66,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "default": "1", "fieldname": "repeat_header_footer", "fieldtype": "Check", @@ -89,6 +93,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "column_break_4", "fieldtype": "Column Break", "hidden": 0, @@ -113,6 +118,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "default": "A4", "fieldname": "pdf_page_size", "fieldtype": "Select", @@ -139,6 +145,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "view_link_in_email", "fieldtype": "Section Break", "hidden": 0, @@ -163,6 +170,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "default": "1", "description": "", "fieldname": "attach_view_link", @@ -190,6 +198,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "print_style_section", "fieldtype": "Section Break", "hidden": 0, @@ -214,6 +223,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "default": "Modern", "fieldname": "print_style", "fieldtype": "Select", @@ -240,6 +250,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "default": "Default", "fieldname": "font", "fieldtype": "Select", @@ -267,6 +278,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "description": "In points. Default is 9.", "fieldname": "font_size", "fieldtype": "Float", @@ -292,6 +304,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "column_break_6", "fieldtype": "Column Break", "hidden": 0, @@ -315,6 +328,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "default": "1", "description": "", "fieldname": "with_letterhead", @@ -341,6 +355,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "default": "1", "description": "", "fieldname": "allow_print_for_draft", @@ -368,6 +383,34 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, + "default": "1", + "fieldname": "add_draft_heading", + "fieldtype": "Check", + "hidden": 0, + "ignore_user_permissions": 0, + "ignore_xss_filter": 0, + "in_filter": 0, + "in_list_view": 0, + "label": "Always add \"Draft\" Heading for printing draft documents", + "length": 0, + "no_copy": 0, + "permlevel": 0, + "precision": "", + "print_hide": 0, + "print_hide_if_no_value": 0, + "read_only": 0, + "report_hide": 0, + "reqd": 0, + "search_index": 0, + "set_only_once": 0, + "unique": 0 + }, + { + "allow_on_submit": 0, + "bold": 0, + "collapsible": 0, + "columns": 0, "description": "", "fieldname": "allow_print_for_cancelled", "fieldtype": "Check", @@ -394,6 +437,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "section_break_8", "fieldtype": "Section Break", "hidden": 0, @@ -417,6 +461,7 @@ "allow_on_submit": 0, "bold": 0, "collapsible": 0, + "columns": 0, "fieldname": "print_style_preview", "fieldtype": "HTML", "hidden": 0, @@ -449,7 +494,7 @@ "issingle": 1, "istable": 0, "max_attachments": 0, - "modified": "2016-06-22 11:44:01.940693", + "modified": "2016-09-12 03:19:17.867459", "modified_by": "Administrator", "module": "Print", "name": "Print Settings", @@ -470,8 +515,6 @@ "print": 0, "read": 1, "report": 0, - "restrict": 0, - "restricted": 0, "role": "System Manager", "set_user_permissions": 0, "share": 1, diff --git a/frappe/templates/print_formats/standard.html b/frappe/templates/print_formats/standard.html index 81853f8f99..5be677b9ee 100644 --- a/frappe/templates/print_formats/standard.html +++ b/frappe/templates/print_formats/standard.html @@ -4,7 +4,7 @@ {% for page in layout %}
- {{ add_header(loop.index, layout|len, doc, letter_head, no_letterhead, footer) }} + {{ add_header(loop.index, layout|len, doc, letter_head, no_letterhead, footer, print_settings) }}
{% if print_settings.repeat_header_footer %} diff --git a/frappe/templates/print_formats/standard_macros.html b/frappe/templates/print_formats/standard_macros.html index cd1c3b8ca8..72597a882c 100644 --- a/frappe/templates/print_formats/standard_macros.html +++ b/frappe/templates/print_formats/standard_macros.html @@ -110,7 +110,7 @@ data-fieldname="{{ df.fieldname }}" data-fieldtype="{{ df.fieldtype }}" {%- endif -%} {% endmacro %} -{%- macro add_header(page_num, max_pages, doc, letter_head, no_letterhead, footer) -%} +{%- macro add_header(page_num, max_pages, doc, letter_head, no_letterhead, footer, print_settings=None) -%} {% if letter_head and not no_letterhead %}
{{ letter_head }}
{% endif %} @@ -125,7 +125,7 @@ data-fieldname="{{ df.fieldname }}" data-fieldtype="{{ df.fieldtype }}"
{% endif %} - {%- if doc.meta.is_submittable and doc.docstatus==0-%} + {%- if doc.meta.is_submittable and doc.docstatus==0 and (print_settings==None or print_settings.add_draft_heading) -%}

{{ _("DRAFT") }}

From d1bf2429feb650220b7b731a2ecac8e1348123b1 Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Thu, 8 Sep 2016 14:38:24 +0530 Subject: [PATCH 4/6] Fixed list settings --- frappe/model/db_query.py | 5 +++-- frappe/patches.txt | 3 ++- frappe/patches/v7_0/cleanup_list_settings.py | 18 ++++++++++++++++++ 3 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 frappe/patches/v7_0/cleanup_list_settings.py diff --git a/frappe/model/db_query.py b/frappe/model/db_query.py index 7800b71823..2c993f585d 100644 --- a/frappe/model/db_query.py +++ b/frappe/model/db_query.py @@ -4,7 +4,7 @@ from __future__ import unicode_literals """build query for doclistview and return results""" -import frappe, json +import frappe, json, copy import frappe.defaults import frappe.share import frappe.permissions @@ -71,6 +71,7 @@ class DatabaseQuery(object): self.flags.ignore_permissions = ignore_permissions self.user = user or frappe.session.user self.update = update + self.list_settings_fields = copy.deepcopy(self.fields) #self.debug = True if query: @@ -498,7 +499,7 @@ class DatabaseQuery(object): list_settings['order_by'] = self.order_by if self.save_list_settings_fields: - list_settings['fields'] = self.fields + list_settings['fields'] = self.list_settings_fields update_list_settings(self.doctype, list_settings) diff --git a/frappe/patches.txt b/frappe/patches.txt index ece9d0c6e4..b87ec1465c 100644 --- a/frappe/patches.txt +++ b/frappe/patches.txt @@ -136,4 +136,5 @@ execute:frappe.db.sql("delete from `tabWeb Page` where ifnull(template_path, '') frappe.patches.v7_0.rename_newsletter_list_to_email_group frappe.patches.v7_0.replace_upgrade_link_limit frappe.patches.v7_0.set_email_group -execute:frappe.db.set_value("Print Settings", "Print Settings", "add_draft_heading", 1) \ No newline at end of file +execute:frappe.db.set_value("Print Settings", "Print Settings", "add_draft_heading", 1) +frappe.patches.v7_0.cleanup_list_settings diff --git a/frappe/patches/v7_0/cleanup_list_settings.py b/frappe/patches/v7_0/cleanup_list_settings.py new file mode 100644 index 0000000000..ef12def852 --- /dev/null +++ b/frappe/patches/v7_0/cleanup_list_settings.py @@ -0,0 +1,18 @@ +from frappe.installer import create_list_settings_table +from frappe.model.utils.list_settings import update_list_settings +import frappe, json + +def execute(): + list_settings = frappe.db.sql("select user, doctype, data from __ListSettings", as_dict=1) + for ls in list_settings: + if ls and ls.data: + data = json.loads(ls.data) + fields = data["fields"] + for field in fields: + if "name as" in field: + fields.remove(field) + data["fields"] = fields + + frappe.db.sql("update __ListSettings set data = %s where user=%s and doctype=%s", + (json.dumps(data), ls.user, ls.doctype)) + \ No newline at end of file From e5bb0bb283af67eca989b310fa0d29587c72b793 Mon Sep 17 00:00:00 2001 From: Shreyas Patil Date: Mon, 12 Sep 2016 16:06:35 +0530 Subject: [PATCH 5/6] [Fix] Social login not allowed for a disabled user (#2032) --- frappe/sessions.py | 6 ++++-- frappe/utils/oauth.py | 6 +++++- 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/frappe/sessions.py b/frappe/sessions.py index 9d63393d57..7aa4adf1a5 100644 --- a/frappe/sessions.py +++ b/frappe/sessions.py @@ -57,13 +57,15 @@ def clear_sessions(user=None, keep_current=False, device=None): if not device: device = frappe.session.data.device or "desktop" - simultaneous_sessions = frappe.db.get_value('User', user, 'simultaneous_sessions') or 1 + limit = 0 + if user == frappe.session.user: + simultaneous_sessions = frappe.db.get_value('User', user, 'simultaneous_sessions') or 1 + limit = simultaneous_sessions - 1 condition = '' if keep_current: condition = ' and sid != "{0}"'.format(frappe.session.sid) - limit = simultaneous_sessions - 1 for i, sid in enumerate(frappe.db.sql_list("""select sid from tabSessions where user=%s and device=%s {condition} diff --git a/frappe/utils/oauth.py b/frappe/utils/oauth.py index ca0d72c12d..cbff7aaeab 100644 --- a/frappe/utils/oauth.py +++ b/frappe/utils/oauth.py @@ -210,7 +210,8 @@ def login_oauth_user(data=None, provider=None, state=None, email_id=None, key=No return try: - update_oauth_user(user, data, provider) + if update_oauth_user(user, data, provider) is False: + return except SignupDisabledError: return frappe.respond_as_web_page("Signup is Disabled", "Sorry. Signup from Website is disabled.", @@ -260,6 +261,9 @@ def update_oauth_user(user, data, provider): else: user = frappe.get_doc("User", user) + if not user.enabled: + frappe.respond_as_web_page(_('Not Allowed'), _('User {0} is disabled').format(user.email)) + return False if provider=="facebook" and not user.get("fb_userid"): save = True From 5eac10a5c7f40be0ba60857f5eabe4d4b1d4aa6a Mon Sep 17 00:00:00 2001 From: Nabin Hait Date: Wed, 14 Sep 2016 16:21:52 +0600 Subject: [PATCH 6/6] bumped to version 7.0.31 --- frappe/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frappe/__init__.py b/frappe/__init__.py index 136886429f..d51e35de27 100644 --- a/frappe/__init__.py +++ b/frappe/__init__.py @@ -13,7 +13,7 @@ import os, sys, importlib, inspect, json from .exceptions import * from .utils.jinja import get_jenv, get_template, render_template -__version__ = "7.0.30" +__version__ = "7.0.31" local = Local()