Ver a proveniência

[fixes] [cleanup] clien side api, etc

version-14
Rushabh Mehta há 10 anos
ascendente
cometimento
2f9608dba4
10 ficheiros alterados com 44 adições e 16 eliminações
  1. +4
    -0
      frappe/__init__.py
  2. +2
    -2
      frappe/core/doctype/page/page.py
  3. +6
    -0
      frappe/database.py
  4. +12
    -7
      frappe/model/db_query.py
  5. +0
    -1
      frappe/public/css/bootstrap.css
  6. +10
    -3
      frappe/public/js/frappe/form/control.js
  7. +1
    -1
      frappe/public/js/frappe/form/toolbar.js
  8. +3
    -0
      frappe/public/js/frappe/views/reports/reportview.js
  9. +4
    -0
      frappe/public/js/legacy/clientscriptAPI.js
  10. +2
    -2
      frappe/test_runner.py

+ 4
- 0
frappe/__init__.py Ver ficheiro

@@ -441,6 +441,10 @@ def get_doc(arg1, arg2=None):
import frappe.model.document
return frappe.model.document.get_doc(arg1, arg2)

def get_single(doctype):
"""Return a `frappe.model.document.Document` object of the given Single doctype."""
return get_doc(doctype, doctype)

def get_meta(doctype, cached=True):
"""Get `frappe.model.meta.Meta` instance of given doctype name."""
import frappe.model.meta


+ 2
- 2
frappe/core/doctype/page/page.py Ver ficheiro

@@ -48,8 +48,8 @@ class Page(Document):
# js
if not os.path.exists(path + '.js'):
with open(path + '.js', 'w') as f:
f.write("""frappe.pages['%s'].onload = function(wrapper) {
frappe.ui.make_app_page({
f.write("""frappe.pages['%s'].on_page_load = function(wrapper) {
var page = frappe.ui.make_app_page({
parent: wrapper,
title: '%s',
single_column: true


+ 6
- 0
frappe/database.py Ver ficheiro

@@ -461,6 +461,12 @@ class Database:
return frappe._dict(self.sql("""select field, value from
tabSingles where doctype=%s""", doctype))

def get_all(self, *args, **kwargs):
return frappe.get_all(*args, **kwargs)

def get_list(self, *args, **kwargs):
return frappe.get_list(*args, **kwargs)

def get_single_value(self, doctype, fieldname):
"""Get property of Single DocType."""
val = self.sql("""select value from


+ 12
- 7
frappe/model/db_query.py Ver ficheiro

@@ -100,18 +100,23 @@ class DatabaseQuery(object):
return args

def parse_args(self):
if isinstance(self.filters, basestring):
self.filters = json.loads(self.filters)
if isinstance(self.fields, basestring):
if self.fields == "*":
self.fields = ["*"]
else:
self.fields = json.loads(self.fields)
if isinstance(self.filters, dict):
fdict = self.filters
self.filters = []
for key, value in fdict.iteritems():
self.filters.append(self.make_filter_tuple(key, value))

for filter_name in ["filters", "or_filters"]:
filters = getattr(self, filter_name)
if isinstance(filters, basestring):
filters = json.loads(filters)

if isinstance(filters, dict):
fdict = filters
filters = []
for key, value in fdict.iteritems():
filters.append(self.make_filter_tuple(key, value))
setattr(self, filter_name, filters)

def make_filter_tuple(self, key, value):
if isinstance(value, (list, tuple)):


+ 0
- 1
frappe/public/css/bootstrap.css Ver ficheiro

@@ -6609,4 +6609,3 @@ h4.modal-title {
.navbar-search-icon {
color: #b8c2cb;
}
/*# sourceMappingURL=bootstrap.css.map */

+ 10
- 3
frappe/public/js/frappe/form/control.js Ver ficheiro

@@ -353,7 +353,10 @@ frappe.ui.form.ControlData = frappe.ui.form.ControlInput.extend({
},
validate: function(v, callback) {
if(this.df.options == 'Phone') {
if(v+''=='')return '';
if(v+''=='') {
callback("");
return;
}
v1 = ''
// phone may start with + and must only have numbers later, '-' and ' ' are stripped
v = v.replace(/ /g, '').replace(/-/g, '').replace(/\(/g, '').replace(/\)/g, '');
@@ -371,7 +374,10 @@ frappe.ui.form.ControlData = frappe.ui.form.ControlInput.extend({
v1 += cint(v) + '';
callback(v1);
} else if(this.df.options == 'Email') {
if(v+''=='')return '';
if(v+''=='') {
callback("");
return;
}
if(!validate_email(v)) {
msgprint(__("Invalid Email: {0}", [v]));
callback("");
@@ -588,6 +594,7 @@ frappe.ui.form.ControlButton = frappe.ui.form.ControlData.extend({
this.input = this.$input.get(0);
this.set_input_attributes();
this.has_input = true;
this.$wrapper.find(".control-label").addClass("hide");
},
onclick: function() {
if(this.frm && this.frm.doc) {
@@ -603,7 +610,7 @@ frappe.ui.form.ControlButton = frappe.ui.form.ControlData.extend({
},
set_input_areas: function() {
this._super();
$(this.disp_area).removeClass();
$(this.disp_area).removeClass().addClass("hide");
},
set_empty_description: function() {
this.$wrapper.find(".help-box").empty().toggle(false);


+ 1
- 1
frappe/public/js/frappe/form/toolbar.js Ver ficheiro

@@ -101,7 +101,7 @@ frappe.ui.form.Toolbar = Class.extend({
}

// New
if(p[CREATE]) {
if(p[CREATE] && !this.frm.meta.issingle) {
this.page.add_menu_item(__("New {0}", [__(me.frm.doctype)]), function() {
new_doc(me.frm.doctype);}, true);
}


+ 3
- 0
frappe/public/js/frappe/views/reports/reportview.js Ver ficheiro

@@ -105,6 +105,9 @@ frappe.views.ReportView = frappe.ui.Listing.extend({
this.make_save();
this.make_user_permissions();
this.set_tag_and_status_filter();
this.page.add_menu_item(__("Refresh"), function() {
me.refresh();
}, true);
},

set_init_columns: function() {


+ 4
- 0
frappe/public/js/legacy/clientscriptAPI.js Ver ficheiro

@@ -295,6 +295,10 @@ _f.Frm.prototype.set_read_only = function() {
cur_frm.perm = perm;
}

_f.Frm.prototype.trigger = function(event) {
this.script_manager.trigger(event);
};

_f.Frm.prototype.get_formatted = function(fieldname) {
return frappe.format(this.doc[fieldname],
frappe.meta.get_docfield(this.doctype, fieldname, this.docname),


+ 2
- 2
frappe/test_runner.py Ver ficheiro

@@ -17,8 +17,8 @@ def main(app=None, module=None, doctype=None, verbose=False, tests=(), force=Fal
if not frappe.db:
frappe.connect()

if not frappe.conf.get("db_name").startswith("test_"):
raise Exception, 'db_name must start with "test_"'
# if not frappe.conf.get("db_name").startswith("test_"):
# raise Exception, 'db_name must start with "test_"'

# workaround! since there is no separate test db
frappe.clear_cache()


Carregando…
Cancelar
Guardar