Bladeren bron

Merge branch 'develop'

version-14
Pratik Vyas 10 jaren geleden
bovenliggende
commit
54aaf48137
10 gewijzigde bestanden met toevoegingen van 54 en 36 verwijderingen
  1. +1
    -1
      frappe/__version__.py
  2. +1
    -1
      frappe/hooks.py
  3. +8
    -5
      frappe/model/document.py
  4. +11
    -9
      frappe/public/js/frappe/form/grid.js
  5. +4
    -2
      frappe/public/js/frappe/form/layout.js
  6. +10
    -8
      frappe/public/js/frappe/model/create_new.js
  7. +4
    -2
      frappe/public/js/frappe/model/meta.js
  8. +12
    -7
      frappe/public/js/frappe/model/model.js
  9. +2
    -0
      frappe/utils/email_lib/email_body.py
  10. +1
    -1
      setup.py

+ 1
- 1
frappe/__version__.py Bestand weergeven

@@ -1 +1 @@
__version__ = "4.11.0"
__version__ = "4.11.1"

+ 1
- 1
frappe/hooks.py Bestand weergeven

@@ -3,7 +3,7 @@ app_title = "Frappe Framework"
app_publisher = "Web Notes Technologies Pvt. Ltd."
app_description = "Full Stack Web Application Framework in Python"
app_icon = "assets/frappe/images/frappe.svg"
app_version = "4.11.0"
app_version = "4.11.1"
app_color = "#3498db"
app_email = "support@frappe.io"



+ 8
- 5
frappe/model/document.py Bestand weergeven

@@ -411,10 +411,17 @@ class Document(BaseDocument):
fn.__name__ = method.encode("utf-8")
return Document.hook(fn)(self, *args, **kwargs)

@staticmethod
def whitelist(f):
f.whitelisted = True
return f

@whitelist.__func__
def submit(self):
self.docstatus = 1
self.save()

@whitelist.__func__
def cancel(self):
self.docstatus = 2
self.save()
@@ -451,16 +458,12 @@ class Document(BaseDocument):
elif self._action=="update_after_submit":
self.run_method("on_update_after_submit")


def check_no_back_links_exist(self):
from frappe.model.delete_doc import check_if_doc_is_linked
if not self.get("ignore_links"):
check_if_doc_is_linked(self, method="Cancel")

@staticmethod
def whitelist(f):
f.whitelisted = True
return f

@staticmethod
def hook(f):
def add_to_return_value(self, new_return_value):


+ 11
- 9
frappe/public/js/frappe/form/grid.js Bestand weergeven

@@ -142,9 +142,10 @@ frappe.ui.form.Grid = Class.extend({
set_column_disp: function(fieldname, show) {
if($.isArray(fieldname)) {
var me = this;
$.each(fieldname, function(i, fname) {
for(var i=0, l=fieldname.length; i<l; i++) {
var fname = fieldname[i];
frappe.meta.get_docfield(me.doctype, fname, me.frm.docname).hidden = show ? 0 : 1;
});
}
} else {
frappe.meta.get_docfield(this.doctype, fieldname, this.frm.docname).hidden = show ? 0 : 1;
}
@@ -292,17 +293,17 @@ frappe.ui.form.GridRow = Class.extend({

add_buttons: function() {
var me = this;
if(this.doc && this.grid.is_editable()) {
if(!this.grid.$row_actions) {
this.grid.$row_actions = $('<div class="col-xs-1 pull-right" \
if(this.doc && this.grid.is_editable() && this.frm.doc[this.doc.parentfield].length <= 50) {
if(!this.grid.row_actions) {
this.grid.row_actions = '<div class="col-xs-1 pull-right" \
style="text-align: right; padding-right: 5px;">\
<span class="text-success grid-insert-row" style="padding: 4px;">\
<i class="icon icon-plus-sign"></i></span>\
<span class="grid-delete-row" style="padding: 4px;">\
<i class="icon icon-trash"></i></span>\
</div>');
</div>';
}
$col = this.grid.$row_actions.clone().appendTo(this.row);
$col = $(this.grid.row_actions).appendTo(this.row);

if($col.width() < 50) {
$col.toggle(false);
@@ -478,9 +479,10 @@ frappe.ui.form.GridRow = Class.extend({
this.layout.refresh(this.doc);

// copy get_query to fields
$.each(this.grid.fieldinfo || {}, function(fieldname, fi) {
for(var fieldname in (this.grid.fieldinfo || {})) {
var fi = this.grid.fieldinfo[fieldname];
$.extend(me.fields_dict[fieldname], fi);
})
}

this.toggle_add_delete_button_display(this.wrapper.find(".panel:first"));



+ 4
- 2
frappe/public/js/frappe/form/layout.js Bestand weergeven

@@ -50,7 +50,8 @@ frappe.ui.form.Layout = Class.extend({

this.wrapper.find(".empty-form-alert").remove();

$.each(this.fields_list, function(i, fieldobj) {
for(var i=0, l=this.fields_list.length; i<l; i++) {
var fieldobj = this.fields_list[i];
if(me.doc) {
fieldobj.doc = me.doc;
fieldobj.doctype = me.doc.doctype;
@@ -61,7 +62,8 @@ frappe.ui.form.Layout = Class.extend({
fieldobj.perm = me.frm.perm;
};
fieldobj.refresh && fieldobj.refresh();
});
}

if(this.frm && this.frm.wrapper)
$(this.frm.wrapper).trigger("refresh-fields");
setTimeout(function() {


+ 10
- 8
frappe/public/js/frappe/model/create_new.js Bestand weergeven

@@ -149,20 +149,21 @@ $.extend(frappe.model, {
// create row doc
idx = idx ? idx - 0.1 : (parent_doc[parentfield] || []).length + 1;

var d = frappe.model.get_new_doc(doctype, parent_doc, parentfield);
d.idx = idx;
var child = frappe.model.get_new_doc(doctype, parent_doc, parentfield);
child.idx = idx;

// renum for fraction
if(idx !== cint(idx)) {
var sorted = parent_doc[parentfield].sort(function(a, b) { return a.idx - b.idx; });
$.each(sorted, function(i, d) {
for(var i=0, j=sorted.length; i<j; i++) {
var d = sorted[i];
d.idx = i + 1;
});
}
}

if (cur_frm && cur_frm.doc == parent_doc) cur_frm.dirty();

return d;
return child;
},

copy_doc: function(doc, from_amend, parent_doc, parentfield) {
@@ -176,11 +177,12 @@ $.extend(frappe.model, {
if(df && key.substr(0,2)!='__'
&& !in_list(no_copy_list, key)
&& !(df && (!from_amend && cint(df.no_copy)==1))) {
value = doc[key];
var value = doc[key] || [];
if(df.fieldtype==="Table") {
$.each(value || [], function(i, d) {
for(var i=0, j=value.length; i<j; i++) {
var d = value[i];
frappe.model.copy_doc(d, from_amend, newdoc, df.fieldname);
});
}
} else {
newdoc[key] = doc[key];
}


+ 4
- 2
frappe/public/js/frappe/model/meta.js Bestand weergeven

@@ -41,9 +41,11 @@ $.extend(frappe.meta, {
if(!c[doctype][docname])
c[doctype][docname] = {};

$.each(frappe.meta.docfield_list[doctype] || [], function(i, df) {
var docfield_list = frappe.meta.docfield_list[doctype] || [];
for(var i=0, j=docfield_list.length; i<j; i++) {
var df = docfield_list[i];
c[doctype][docname][df.fieldname || df.label] = copy_dict(df);
})
}
},

get_docfield: function(dt, fn, dn) {


+ 12
- 7
frappe/public/js/frappe/model/model.js Bestand weergeven

@@ -343,9 +343,12 @@ $.extend(frappe.model, {
get_no_copy_list: function(doctype) {
var no_copy_list = ['name','amended_from','amendment_date','cancel_reason'];

$.each(frappe.get_doc("DocType", doctype).fields || [], function(i, df) {
var docfields = frappe.get_doc("DocType", doctype).fields || [];
for(var i=0, j=docfields.length; i<j; i++) {
var df = docfields[i];
if(cint(df.no_copy)) no_copy_list.push(df.fieldname);
})
}

return no_copy_list;
},

@@ -412,9 +415,10 @@ $.extend(frappe.model, {
fieldnames = frappe.meta.get_fieldnames(doc.doctype, doc.parent,
{"fieldtype": ["in", ["Currency", "Float"]]});
}
$.each(fieldnames, function(i, fieldname) {
for(var i=0, j=fieldnames.length; i < j; i++) {
var fieldname = fieldnames[i];
doc[fieldname] = flt(doc[fieldname], precision(fieldname, doc));
});
}
},

validate_missing: function(doc, fieldname) {
@@ -428,9 +432,10 @@ $.extend(frappe.model, {
var all = [doc];
for(key in doc) {
if($.isArray(doc[key])) {
$.each(doc[key], function(i, d) {
all.push(d);
});
var children = doc[key];
for (var i=0, l=children.length; i < l; i++) {
all.push(children[i]);
}
}
}
return all;


+ 2
- 0
frappe/utils/email_lib/email_body.py Bestand weergeven

@@ -23,6 +23,8 @@ def get_email(recipients, sender='', msg='', subject='[No Subject]',
for attach in (attachments or []):
emailobj.add_attachment(**attach)

emailobj.validate()

return emailobj

class EMail:


+ 1
- 1
setup.py Bestand weergeven

@@ -1,7 +1,7 @@
from setuptools import setup, find_packages
import os

version = "4.11.0"
version = "4.11.1"

with open("requirements.txt", "r") as f:
install_requires = f.readlines()


Laden…
Annuleren
Opslaan