@@ -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') | |||
@@ -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, | |||
@@ -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: | |||
@@ -494,7 +495,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) | |||
@@ -137,4 +137,6 @@ frappe.patches.v7_0.replace_upgrade_link_limit | |||
frappe.patches.v7_0.set_email_group | |||
frappe.patches.v7_1.setup_integration_services | |||
frappe.patches.v7_1.rename_chinese_language_codes | |||
execute:frappe.core.doctype.language.language.update_language_names() | |||
execute:frappe.core.doctype.language.language.update_language_names() | |||
execute:frappe.db.set_value("Print Settings", "Print Settings", "add_draft_heading", 1) | |||
frappe.patches.v7_0.cleanup_list_settings |
@@ -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)) | |||
@@ -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, | |||
@@ -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} | |||
@@ -4,7 +4,7 @@ | |||
{% for page in layout %} | |||
<div class="page-break"> | |||
<div {% if print_settings.repeat_header_footer %} id="header-html" class="hidden-pdf" {% endif %}> | |||
{{ 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) }} | |||
</div> | |||
{% if print_settings.repeat_header_footer %} | |||
@@ -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 %} | |||
<div class="letter-head">{{ letter_head }}</div> | |||
{% endif %} | |||
@@ -125,7 +125,7 @@ data-fieldname="{{ df.fieldname }}" data-fieldtype="{{ df.fieldtype }}" | |||
</h2> | |||
</div> | |||
{% 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) -%} | |||
<div class="text-center" document-status="draft"> | |||
<h4 style="margin: 0px;">{{ _("DRAFT") }}</h4> | |||
</div> | |||
@@ -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 | |||