Merge branch 'latest' of github.com:webnotes/erpnext into latest
diff --git a/erpnext/home/__init__.py b/erpnext/home/__init__.py
index bec99d4..75556e3 100644
--- a/erpnext/home/__init__.py
+++ b/erpnext/home/__init__.py
@@ -42,11 +42,12 @@
"makes a new Feed record"
#msgprint(subject)
from webnotes.model.doc import Document
+ from webnotes.utils import get_full_name
- if feedtype in ('Login', 'Comment'):
+ if feedtype in ('Login', 'Comment', 'Assignment'):
# delete old login, comment feed
webnotes.conn.sql("""delete from tabFeed where
- datediff(curdate(), creation) > 7 and doc_type in ('Comment', 'Login')""")
+ datediff(curdate(), creation) > 7 and doc_type in ('Comment', 'Login', 'Assignment')""")
else:
# one feed per item
webnotes.conn.sql("""delete from tabFeed
@@ -60,6 +61,7 @@
f.doc_name = name
f.subject = subject
f.color = color
+ f.full_name = get_full_name(owner)
f.save()
def update_feed(doc, method=None):
diff --git a/erpnext/home/doctype/feed/feed.txt b/erpnext/home/doctype/feed/feed.txt
index f239f7c..62d6633 100644
--- a/erpnext/home/doctype/feed/feed.txt
+++ b/erpnext/home/doctype/feed/feed.txt
@@ -5,77 +5,85 @@
{
'creation': '2011-04-06 18:11:38',
'docstatus': 0,
- 'modified': '2012-02-03 11:28:16',
- 'modified_by': 'Administrator',
- 'owner': 'Administrator'
+ 'modified': '2012-02-08 11:35:40',
+ 'modified_by': u'Administrator',
+ 'owner': u'Administrator'
},
# These values are common for all DocType
{
- 'autoname': '_FEED.#####',
- 'colour': 'White:FFF',
- 'default_print_format': 'Standard',
+ 'autoname': u'_FEED.#####',
+ 'colour': u'White:FFF',
+ 'default_print_format': u'Standard',
'doctype': 'DocType',
- 'module': 'Home',
+ 'module': u'Home',
'name': '__common__',
- 'section_style': 'Simple',
+ 'section_style': u'Simple',
'show_in_menu': 0,
- 'version': 2
+ 'version': 3
},
# These values are common for all DocField
{
- 'doctype': 'DocField',
+ 'doctype': u'DocField',
'name': '__common__',
- 'parent': 'Feed',
- 'parentfield': 'fields',
- 'parenttype': 'DocType',
+ 'parent': u'Feed',
+ 'parentfield': u'fields',
+ 'parenttype': u'DocType',
'permlevel': 0
},
# DocType, Feed
{
'doctype': 'DocType',
- 'name': 'Feed'
+ 'name': u'Feed'
},
# DocField
{
- 'doctype': 'DocField',
- 'fieldname': 'feed_type',
- 'fieldtype': 'Select',
- 'label': 'Feed Type'
+ 'doctype': u'DocField',
+ 'fieldname': u'feed_type',
+ 'fieldtype': u'Select',
+ 'label': u'Feed Type'
},
# DocField
{
- 'doctype': 'DocField',
- 'fieldname': 'doc_type',
- 'fieldtype': 'Data',
- 'label': 'Doc Type'
+ 'doctype': u'DocField',
+ 'fieldname': u'doc_type',
+ 'fieldtype': u'Data',
+ 'label': u'Doc Type'
},
# DocField
{
- 'doctype': 'DocField',
- 'fieldname': 'doc_name',
- 'fieldtype': 'Data',
- 'label': 'Doc Name'
+ 'doctype': u'DocField',
+ 'fieldname': u'doc_name',
+ 'fieldtype': u'Data',
+ 'label': u'Doc Name'
},
# DocField
{
- 'doctype': 'DocField',
- 'fieldname': 'subject',
- 'fieldtype': 'Data',
- 'label': 'Subject'
+ 'doctype': u'DocField',
+ 'fieldname': u'subject',
+ 'fieldtype': u'Data',
+ 'label': u'Subject'
},
# DocField
{
- 'doctype': 'DocField',
- 'fieldname': 'color',
- 'fieldtype': 'Data',
- 'label': 'Color'
+ 'doctype': u'DocField',
+ 'fieldname': u'color',
+ 'fieldtype': u'Data',
+ 'label': u'Color'
+ },
+
+ # DocField
+ {
+ 'doctype': u'DocField',
+ 'fieldname': u'full_name',
+ 'fieldtype': u'Data',
+ 'label': u'Full Name'
}
]
\ No newline at end of file
diff --git a/erpnext/home/page/event_updates/event_updates.js b/erpnext/home/page/event_updates/event_updates.js
index 90aef9e..9a76d16 100644
--- a/erpnext/home/page/event_updates/event_updates.js
+++ b/erpnext/home/page/event_updates/event_updates.js
@@ -457,11 +457,10 @@
parent: this.list_area,
query: repl('select \
distinct t1.name, t1.feed_type, t1.doc_type, t1.doc_name, t1.subject, t1.modified_by, \
- concat(ifnull(t2.first_name,""), " ", ifnull(t2.last_name,"")) as full_name, \
+ if(ifnull(t1.full_name,"")="", t1.owner, t1.full_name) as full_name, \
t1.modified, t1.color \
- from tabFeed t1, tabProfile t2, tabUserRole t3, tabDocPerm t4 \
+ from tabFeed t1, tabUserRole t3, tabDocPerm t4 \
where t1.doc_type = t4.parent \
- and t2.name = t1.owner \
and t3.parent = "%(user)s" \
and t4.role = t3.role \
and ifnull(t4.`read`,0) = 1 \
diff --git a/erpnext/startup/event_handlers.py b/erpnext/startup/event_handlers.py
index 3c6281f..d9fbbed 100644
--- a/erpnext/startup/event_handlers.py
+++ b/erpnext/startup/event_handlers.py
@@ -38,7 +38,6 @@
def comment_added(doc):
"""add comment to feed"""
- import json
home.make_feed('Comment', doc.comment_doctype, doc.comment_docname, doc.comment_by,
'<i>"' + doc.comment + '"</i>', '#6B24B3')
diff --git a/erpnext/startup/modules.js b/erpnext/startup/modules.js
index c22aee0..0280c74 100644
--- a/erpnext/startup/modules.js
+++ b/erpnext/startup/modules.js
@@ -15,10 +15,6 @@
new SidebarItem(ml[m]);
}
}
- if(in_list(user_roles, 'System Manager')) {
- var div = $a(page_body.left_sidebar, 'div', 'link_type', {padding:'8px', fontSize:'11px'});
- $(div).html('[edit]').click(pscript.startup_set_module_order)
- }
nav_obj.observers.push({notify:function(t,dt,dn) { pscript.select_sidebar_menu(t, dt, dn); }});
// select current
@@ -352,33 +348,3 @@
si.show_section(me.det.doc_type);
}
}
-
-
-// ====================================================================
-// Drag & Drop order selection
-// ====================================================================
-
-pscript.startup_set_module_order = function() {
- var update_order= function(ml) {
- mdict = {};
- for(var i=0; i<ml.length; i++) {
- mdict[ml[i][3][3]] = {'module_seq':ml[i][1], 'is_hidden':(ml[i][2] ? 'No' : 'Yes')}
- }
- $c_obj('Home Control', 'set_module_order', JSON.stringify(mdict), function(r,rt) { pscript.startup_make_sidebar(); } )
- }
-
- var callback = function(r, rt) {
- var ml = [];
- for(var i=0; i<r.message.length; i++) {
- var det = r.message[i];
- ml.push([det[1], det[2], (det[3]!='No' ? 0 : 1), det[0]]);
- }
- new ListSelector('Set Module Sequence', 'Select items and set the order you want them to appear'+
- '<br><b>Note:</b> <i>These changes will apply to all users!</i>', ml, update_order, 1);
- }
- $c_obj('Home Control', 'get_module_order', '', callback)
-
-}
-
-
-
diff --git a/erpnext/website/css/website.css b/erpnext/website/css/website.css
index 8a90b1b..28303db 100644
--- a/erpnext/website/css/website.css
+++ b/erpnext/website/css/website.css
@@ -61,6 +61,26 @@
overflow-x: hidden;
}
+.web-page-status {
+ padding: 7px;
+ color: #777;
+ clear: both;
+ text-align: right;
+}
+
+.web-page-status a,
+.web-page-status a:hover,
+.web-page-status a:visited {
+ padding: 2px;
+ background-color: #777;
+ color: #FFF;
+ text-decoration: none;
+}
+
+.web-page-status a:hover {
+ background-color: #444;
+}
+
footer {
color: #777;
}
diff --git a/erpnext/website/doctype/blog/blog.py b/erpnext/website/doctype/blog/blog.py
index c83b922..5e50327 100644
--- a/erpnext/website/doctype/blog/blog.py
+++ b/erpnext/website/doctype/blog/blog.py
@@ -23,8 +23,11 @@
from jinja2 import Template
import markdown2
import os
+ from webnotes.utils import global_date_format, get_full_name
self.doc.content_html = markdown2.markdown(self.doc.content or '')
+ self.doc.full_name = get_full_name(self.doc.owner)
+ self.doc.updated = global_date_format(self.doc.modified)
with open(os.path.join(os.path.dirname(__file__), 'template.html'), 'r') as f:
p.content = Template(f.read()).render(doc=self.doc)
@@ -35,5 +38,11 @@
p.save()
website.utils.add_guest_access_to_page(p.name)
+
+ # cleanup
+ for f in ['content_html', 'full_name', 'updated']:
+ if f in self.doc.fields:
+ del self.doc.fields[f]
+
\ No newline at end of file
diff --git a/erpnext/website/doctype/blog/blog_page.js b/erpnext/website/doctype/blog/blog_page.js
index 1df9b54..3ad2535 100644
--- a/erpnext/website/doctype/blog/blog_page.js
+++ b/erpnext/website/doctype/blog/blog_page.js
@@ -25,14 +25,14 @@
wrapper.comment_list = new wn.widgets.Listing({
parent: $(wrapper).find('.web-main-section').get(0),
- query: 'select comment, comment_by_fullname, comment_date\
+ query: 'select comment, comment_by_fullname, modified\
from `tabComment Widget Record` where comment_doctype="Page"\
and comment_docname="{{ doc.name }}"',
no_result_message: 'Be the first one to comment',
render_row: function(parent, data) {
- data.comment_date = dateutil.str_to_user(data.comment_date);
+ data.comment_date = prettyDate(data.modified);
$(parent).html(repl("<div style='color:#777'>\
- On %(comment_date)s %(comment_by_fullname)s said:\
+ %(comment_by_fullname)s | %(comment_date)s:\
</div>\
<p style='margin-left: 20px;'>%(comment)s</p><br>", data))
},
diff --git a/erpnext/website/doctype/blog/template.html b/erpnext/website/doctype/blog/template.html
index f70bacb..1b81fe2 100644
--- a/erpnext/website/doctype/blog/template.html
+++ b/erpnext/website/doctype/blog/template.html
@@ -2,7 +2,8 @@
<div class="web-content" id="blog-{{ doc.name }}">
<h1>Blog</h1>
<div class="web-main-section">
- <h2>{{ doc.title }}</h2>
+ <h3>{{ doc.title }}</h3>
+ <div class="help">By {{ doc.full_name }} on {{ doc.updated }}</div>
<br>
{{ doc.content_html }}
</div>
diff --git a/erpnext/website/doctype/web_page/template.html b/erpnext/website/doctype/web_page/template.html
index faacca1..1fb613c 100644
--- a/erpnext/website/doctype/web_page/template.html
+++ b/erpnext/website/doctype/web_page/template.html
@@ -14,11 +14,15 @@
<div class="web-side-section">
{{ doc.side_section_html }}
{% if doc.see_also %}
+ <div class="info-box">
<h4>See Also</h4>
{{ doc.see_also }}
+ </div>
{% endif %}
</div>
- <div style="clear: both">
- </div>
+ <div style="clear: both"></div>
</div>
-</div>
\ No newline at end of file
+</div>
+<div class="web-page-status">
+ Last Modified: {{ doc.updated }} <a href="#contact">Feedback</a>
+</div>
diff --git a/erpnext/website/doctype/web_page/web_page.py b/erpnext/website/doctype/web_page/web_page.py
index 8f7c38f..e262bfe 100644
--- a/erpnext/website/doctype/web_page/web_page.py
+++ b/erpnext/website/doctype/web_page/web_page.py
@@ -14,8 +14,10 @@
p = website.utils.add_page(self.doc.title)
from jinja2 import Template
+ from webnotes.utils import global_date_format
import os
+ self.doc.updated = global_date_format(self.doc.modified)
website.utils.markdown(self.doc, ['head_section','main_section', 'side_section'])
self.add_page_links()
@@ -31,24 +33,21 @@
def add_page_links(self):
"""add links for next_page and see_also"""
if self.doc.next_page:
- self.doc.next_page_html = """<div class="info-box round">
- <p style="text-align: right"><b>Next:</b>
- <a href="#!%(name)s">%(title)s</a></p></div>""" % {"name":self.doc.next_page, \
+ self.doc.next_page_html = """<div class="info-box round" style="text-align: right">
+ <b>Next:</b>
+ <a href="#!%(name)s">%(title)s</a></div>""" % {"name":self.doc.next_page, \
"title": webnotes.conn.get_value("Page", self.doc.next_page, "title")}
self.doc.see_also = ''
for d in self.doclist:
if d.doctype=='Related Page':
tmp = {"page":d.page, "title":webnotes.conn.get_value('Page', d.page, 'title')}
- self.doc.see_also += """<li><a href="#!%(page)s">%(title)s</a></li>""" % tmp
-
- if self.doc.see_also:
- self.doc.see_also = '<ul>%s</ul>' % self.doc.see_also
-
+ self.doc.see_also += """<div><a href="#!%(page)s">%(title)s</a></div>""" % tmp
+
def cleanup_temp(self):
"""cleanup temp fields"""
fl = ['main_section_html', 'side_section_html', 'see_also', \
- 'next_page_html', 'head_section_html']
+ 'next_page_html', 'head_section_html', 'updated']
for f in fl:
if f in self.doc.fields:
del self.doc.fields[f]
diff --git a/erpnext/website/page/blog/blog.js b/erpnext/website/page/blog/blog.js
index 6be1d07..9e89acd 100644
--- a/erpnext/website/page/blog/blog.js
+++ b/erpnext/website/page/blog/blog.js
@@ -10,9 +10,9 @@
render_row: function(parent, data) {
if(data.content.length==300) data.content += '...';
data.date = prettyDate(data.modified);
- parent.innerHTML = repl('<h4><a href="#!%(name)s">%(title)s</a></h4>\
- <div class="help">By %(first_name)s %(last_name)s on %(date)s</div>\
- <p><div class="comment">%(content)s</div></p><br>', data);
+ parent.innerHTML = repl('<h3><a href="#!%(name)s">%(title)s</a></h3>\
+ <p><div class="help">By %(first_name)s %(last_name)s on %(date)s</div></p>\
+ <div class="comment">%(content)s</div><br>', data);
},
page_length: 10
});
diff --git a/version.num b/version.num
index 24f98f2..be6c136 100644
--- a/version.num
+++ b/version.num
@@ -1 +1 @@
-367
\ No newline at end of file
+383
\ No newline at end of file