Переглянути джерело

Merge branch 'develop'

version-14
Nabin Hait 8 роки тому
джерело
коміт
36abbb6659
8 змінених файлів з 35 додано та 21 видалено
  1. +1
    -1
      frappe/__init__.py
  2. +5
    -5
      frappe/desk/reportview.py
  3. +1
    -1
      frappe/geo/address_and_contact.py
  4. +4
    -1
      frappe/model/db_query.py
  5. +2
    -2
      frappe/patches.txt
  6. +6
    -7
      frappe/public/js/frappe/form/toolbar.js
  7. +9
    -4
      frappe/public/js/frappe/socketio_client.js
  8. +7
    -0
      frappe/tests/test_db_query.py

+ 1
- 1
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__ = '8.0.35'
__version__ = '8.0.36'
__title__ = "Frappe Framework"

local = Local()


+ 5
- 5
frappe/desk/reportview.py Переглянути файл

@@ -37,7 +37,7 @@ def get_form_params():
data["save_user_settings"] = json.loads(data["save_user_settings"])
else:
data["save_user_settings"] = True
doctype = data["doctype"]
fields = data["fields"]

@@ -51,9 +51,9 @@ def get_form_params():
fieldname = fieldname.strip("`")

df = frappe.get_meta(parenttype).get_field(fieldname)
report_hide = df.report_hide if df else None
# remove the field from the query if the report hide flag is set
if report_hide:
fields.remove(field)
@@ -331,7 +331,7 @@ def build_match_conditions(doctype, as_condition=True):
else:
return match_conditions

def get_filters_cond(doctype, filters, conditions):
def get_filters_cond(doctype, filters, conditions, ignore_permissions=None):
if filters:
flt = filters
if isinstance(filters, dict):
@@ -347,7 +347,7 @@ def get_filters_cond(doctype, filters, conditions):
query = DatabaseQuery(doctype)
query.filters = flt
query.conditions = conditions
query.build_filter_conditions(flt, conditions)
query.build_filter_conditions(flt, conditions, ignore_permissions)

cond = ' and ' + ' and '.join(query.conditions)
else:


+ 1
- 1
frappe/geo/address_and_contact.py Переглянути файл

@@ -4,7 +4,7 @@
from __future__ import unicode_literals
import frappe

def load_address_and_contact(doc, key):
def load_address_and_contact(doc, key=None):
"""Loads address list and contact list in `__onload`"""
from frappe.geo.doctype.address.address import get_address_display



+ 4
- 1
frappe/model/db_query.py Переглянути файл

@@ -250,8 +250,11 @@ class DatabaseQuery(object):
if match_conditions:
self.conditions.append("(" + match_conditions + ")")

def build_filter_conditions(self, filters, conditions):
def build_filter_conditions(self, filters, conditions, ignore_permissions=None):
"""build conditions from user filters"""
if ignore_permissions is not None:
self.flags.ignore_permissions = ignore_permissions

if isinstance(filters, dict):
filters = [filters]



+ 2
- 2
frappe/patches.txt Переглянути файл

@@ -157,7 +157,6 @@ frappe.patches.v7_0.cleanup_list_settings
execute:frappe.db.set_default('language', '')
frappe.patches.v7_1.refactor_integration_broker
frappe.patches.v7_1.set_backup_limit
frappe.patches.v7_1.disabled_print_settings_for_custom_print_format
frappe.patches.v7_2.set_doctype_engine
frappe.patches.v7_2.merge_knowledge_base
frappe.patches.v7_0.update_report_builder_json
@@ -181,4 +180,5 @@ frappe.patches.v8_0.fix_non_english_desktop_icons # 2017-04-12
frappe.patches.v8_0.set_doctype_values_in_custom_role
frappe.patches.v8_0.install_new_build_system_requirements
frappe.patches.v8_0.set_currency_field_precision
frappe.patches.v8_0.rename_print_to_printing
frappe.patches.v8_0.rename_print_to_printing
frappe.patches.v7_1.disabled_print_settings_for_custom_print_format

+ 6
- 7
frappe/public/js/frappe/form/toolbar.js Переглянути файл

@@ -176,13 +176,12 @@ frappe.ui.form.Toolbar = Class.extend({

// feedback
if(!this.frm.doc.__unsaved) {
if(is_submittable && docstatus != 1)
return

this.page.add_menu_item(__("Request Feedback"), function() {
feedback = new frappe.utils.Feedback();
feedback.manual_feedback_request(me.frm.doc);
}, true)
if(is_submittable && docstatus == 1) {
this.page.add_menu_item(__("Request Feedback"), function() {
feedback = new frappe.utils.Feedback();
feedback.manual_feedback_request(me.frm.doc);
}, true)
}
}

// New


+ 9
- 4
frappe/public/js/frappe/socketio_client.js Переглянути файл

@@ -196,10 +196,15 @@ frappe.socket = {
},
setup_file_watchers: function() {
var host = window.location.origin;
var port = '6787';
// remove the port number from string
host = host.split(':').slice(0, -1).join(":");
host = host + ':' + port;
if(window.dev_server) {
var port = '6787';
var parts = host.split(":");
// remove the port number from string if exists
if (parts.length > 2) {
host = host.split(':').slice(0, -1).join(":");
}
host = host + ':' + port;
}

frappe.socket.file_watcher = io.connect(host);
// css files auto reload


+ 7
- 0
frappe/tests/test_db_query.py Переглянути файл

@@ -5,6 +5,7 @@ from __future__ import unicode_literals
import frappe, unittest

from frappe.model.db_query import DatabaseQuery
from frappe.desk.reportview import get_filters_cond

class TestReportview(unittest.TestCase):
def test_basic(self):
@@ -70,6 +71,12 @@ class TestReportview(unittest.TestCase):
self.assertTrue({ "name": todays_event.name } in data)
self.assertTrue({ "name": event.name } in data)

def test_ignore_permissions_for_get_filters_cond(self):
frappe.set_user('test1@example.com')
self.assertRaises(frappe.PermissionError, get_filters_cond, 'DocType', dict(istable=1), [])
self.assertTrue(get_filters_cond('DocType', dict(istable=1), [], ignore_permissions=True))
frappe.set_user('Administrator')

def create_event(subject="_Test Event", starts_on=None):
""" create a test event """



Завантаження…
Відмінити
Зберегти