Ver código fonte

Merge branch 'develop'

version-14
Nabin Hait 10 anos atrás
pai
commit
f92b27b26b
12 arquivos alterados com 72 adições e 20 exclusões
  1. +1
    -1
      frappe/__version__.py
  2. +20
    -1
      frappe/core/doctype/comment/comment.json
  3. +10
    -5
      frappe/desk/doctype/todo/todo.py
  4. +2
    -1
      frappe/desk/form/load.py
  5. +1
    -1
      frappe/hooks.py
  6. +6
    -3
      frappe/permissions.py
  7. +9
    -1
      frappe/public/css/desk.css
  8. +1
    -2
      frappe/public/js/frappe/form/control.js
  9. +7
    -1
      frappe/public/js/frappe/form/footer/timeline_item.html
  10. +1
    -1
      frappe/public/js/frappe/model/perm.js
  11. +13
    -2
      frappe/public/less/desk.less
  12. +1
    -1
      setup.py

+ 1
- 1
frappe/__version__.py Ver arquivo

@@ -1,2 +1,2 @@
from __future__ import unicode_literals
__version__ = "5.0.23"
__version__ = "5.0.24"

+ 20
- 1
frappe/core/doctype/comment/comment.json Ver arquivo

@@ -103,12 +103,31 @@
"fieldtype": "Check",
"label": "Unsubscribed",
"permlevel": 0
},
{
"fieldname": "reference_doctype",
"fieldtype": "Link",
"label": "Reference DocType",
"options": "DocType",
"permlevel": 0,
"precision": "",
"read_only": 1
},
{
"description": "Reference DocType and Reference Name are used to render a comment as a link (href) to a Doc.",
"fieldname": "reference_name",
"fieldtype": "Dynamic Link",
"label": "Reference Name",
"options": "reference_doctype",
"permlevel": 0,
"precision": "",
"read_only": 1
}
],
"icon": "icon-comments",
"idx": 1,
"issingle": 0,
"modified": "2015-02-11 15:32:45.807458",
"modified": "2015-06-08 12:31:15.122312",
"modified_by": "Administrator",
"module": "Core",
"name": "Comment",


+ 10
- 5
frappe/desk/doctype/todo/todo.py Ver arquivo

@@ -16,8 +16,8 @@ class ToDo(Document):
if self.is_new():
self.add_assign_comment(frappe._("Assigned to {0}: {1}").format(get_fullname(self.owner), self.description), "Assigned")
else:
cur_status = frappe.db.get_value("ToDo", self.name, "status")
if cur_status != self.status:
# NOTE the previous value is only available in validate method
if self.get_db_value("status") != self.status:
self.add_assign_comment(frappe._("Assignment closed by {0}".format(get_fullname(frappe.session.user))),
"Assignment Completed")

@@ -31,14 +31,19 @@ class ToDo(Document):
if not self.reference_type and self.reference_name:
return

frappe.get_doc({
comment = frappe.get_doc({
"doctype":"Comment",
"comment_by": frappe.session.user,
"comment_type": comment_type,
"comment_doctype": self.reference_type,
"comment_docname": self.reference_name,
"comment": """{text}""".format(text=text)
}).insert(ignore_permissions=True)
"comment": """{text}""".format(text=text),
"reference_doctype": self.doctype,
"reference_name": self.name
})
comment.flags.ignore_permissions = True
comment.flags.ignore_links = True
comment.insert()

def update_in_reference(self):
if not (self.reference_type and self.reference_name):


+ 2
- 1
frappe/desk/form/load.py Ver arquivo

@@ -105,7 +105,8 @@ def get_attachments(dt, dn):

def get_comments(dt, dn, limit=100):
comments = frappe.db.sql("""select name, comment, comment_by, creation,
comment_type, "Comment" as doctype from `tabComment`
reference_doctype, reference_name, comment_type, "Comment" as doctype
from `tabComment`
where comment_doctype=%s and comment_docname=%s
order by creation desc limit %s""" % ('%s','%s', limit),
(dt, dn), as_dict=1)


+ 1
- 1
frappe/hooks.py Ver arquivo

@@ -4,7 +4,7 @@ app_title = "Frappe Framework"
app_publisher = "Frappe Technologies Pvt. Ltd."
app_description = "Full Stack Web Application Framework in Python"
app_icon = "octicon octicon-circuit-board"
app_version = "5.0.23"
app_version = "5.0.24"
app_color = "orange"

app_email = "support@frappe.io"


+ 6
- 3
frappe/permissions.py Ver arquivo

@@ -39,13 +39,16 @@ def has_permission(doctype, ptype="read", doc=None, verbose=False, user=None):
return True

def false_if_not_shared():
if ptype in ("read", "write", "share"):
shared = frappe.share.get_shared(doctype, user, [ptype])
if ptype in ("read", "write", "share", "email", "print"):
shared = frappe.share.get_shared(doctype, user,
["read" if ptype in ("email", "print") else ptype])
if doc:
doc_name = doc if isinstance(doc, basestring) else doc.name
if doc_name in shared:
if verbose: print "Shared"
return True
if ptype in ("read", "write", "share") or meta.permissions[0].get(ptype):
return True
else:
if verbose: print "Has a shared document"
return True


+ 9
- 1
frappe/public/css/desk.css Ver arquivo

@@ -394,10 +394,18 @@ ul.linked-with-list li {
.modal-title {
margin-top: 5px;
}
.modal .form-control {
.form-control {
position: relative;
}
.link-field.ui-front {
z-index: inherit;
}
.modal .hasDatepicker {
z-index: 1140;
}
.modal .link-field .ui-autocomplete {
z-index: 1141;
}
.form-group {
margin-bottom: 7px;
}


+ 1
- 2
frappe/public/js/frappe/form/control.js Ver arquivo

@@ -28,7 +28,6 @@ frappe.ui.form.Control = Class.extend({
make: function() {
this.make_wrapper();
this.$wrapper
.addClass("ui-front")
.attr("data-fieldtype", this.df.fieldtype)
.attr("data-fieldname", this.df.fieldname);
this.wrapper = this.$wrapper.get(0);
@@ -934,7 +933,7 @@ frappe.ui.form.ControlSelect = frappe.ui.form.ControlData.extend({
frappe.ui.form.ControlLink = frappe.ui.form.ControlData.extend({
make_input: function() {
var me = this;
$('<div class="link-field" style="position: relative;">\
$('<div class="link-field ui-front" style="position: relative;">\
<input type="text" class="input-with-feedback form-control">\
<span class="link-btn">\
<a class="btn-open no-decoration" title="' + __("Open Link") + '">\


+ 7
- 1
frappe/public/js/frappe/form/footer/timeline_item.html Ver arquivo

@@ -31,7 +31,13 @@
{% } else if(in_list(["Assignment Completed", "Assigned", "Shared", "Unshared"], data.comment_type)) { %}
<h6>
<i class="{%= data.icon %} icon-fixed-width"></i>
{%= data.comment %}
{% if(data.reference_doctype && data.reference_name) { %}
<a href="#Form/{%= data.reference_doctype %}/{%= data.reference_name %}">
{% } %}
{%= data.comment %}
{% if(data.reference_doctype && data.reference_name) { %}
</a>
{% } %}
<span class="text-muted" style="font-weight: normal;">
&ndash; {%= data.comment_on %}</span>
</h6>


+ 1
- 1
frappe/public/js/frappe/model/perm.js Ver arquivo

@@ -69,7 +69,7 @@ $.extend(frappe.perm, {
perm[0]["write"] = s.write;
perm[0]["share"] = s.share;

if(s.write) {
if(s.read) {
// also give print, email permissions if read
// and these permissions exist at level [0]
perm[0].email = meta.permissions[0].email;


+ 13
- 2
frappe/public/less/desk.less Ver arquivo

@@ -225,12 +225,23 @@ ul.linked-with-list li {
}

// fixes datepicker z-index issue
// datepicker takes zindex of input + 1 when input's position is relative
.modal .form-control {
.form-control {
position: relative;
}

.link-field.ui-front {
z-index: inherit;
}

.modal .hasDatepicker {
z-index: 1140;
}

.modal .link-field .ui-autocomplete {
// so that it appears over the datepicker field
z-index: 1141;
}

.form-group {
margin-bottom: 7px;
}


+ 1
- 1
setup.py Ver arquivo

@@ -1,6 +1,6 @@
from setuptools import setup, find_packages

version = "5.0.23"
version = "5.0.24"

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


Carregando…
Cancelar
Salvar